博主信息
博文 15
粉丝 0
评论 1
访问量 13147
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
对象创建和魔术方法----5.2
吴明的博客
原创
866人浏览过

总结:  类是对象的模板,对象是类的实例

类中的属性一般定义为私有属性,单独创镌读取和修改方法--- 魔术方法 。一切都是为了安全考虑。


类文件,注意的有命名,后面的命名空间,属性以及方法的属性(私有,保护,公共)retun 不超过一个。

实例
<?php

/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/2
 * Time: 23:40
 */
class GirlFriendClass
{
//声明属性
private $name;
private $age;
private $stature;
private $data=[];
// 构造方法
public function __construct($name='',$age=0,$stature=[])
{
    $this->name = $name;
    $this->age = $age;
    $this->stature = $stature;
}
    //魔术方法: 查询器
    public function __get($name)
    {
        $msg = null;
        if(isset($this->$name))
        {
            $msg = $this->$name;
        }elseif(isset($this->data[$name])){
            $msg = $this->data[$name];
        }else
        {
            $msg = '无此属性';
        }
        return $msg;
    }
    //魔术方法:设置器
    public function __set($name,$value)
    {
        //如果属性存在则直接赋值
        if(isset($this->$name))
        {
            $this->$name = $value;
        }else{
            //如果属性不存在则创建并抱在到类属性$data中去
            $this->data[$name] = $value;
        }
    }

}
运行实例 »
点击 "运行实例" 按钮查看在线实例

调用的

实例

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/5/2
 * Time: 23:31
 */
header('Content-type:text/html;charset=utf8');
require'lib/GirlFriendClass.php';
$girlfriend = new GirlFriendClass('浩浩',23,[34,30,90]);
//测试魔术方法_get()
echo '姓名:'.$girlfriend->name.'<br>';
echo '年龄:'.$girlfriend->age.'<br>';
echo '三维:'.var_dump($girlfriend->stature,true).'<br>';
//获取不存在的属性
echo '爱好:'.$girlfriend->hobby.'<br>';
echo'<hr>';
//测试魔术方法__set();
$girlfriend->name = '范冰冰';
$girlfriend->age = 35;
$girlfriend->stature = [35,85,98];
echo '姓名: ',$girlfriend->name,'<br>';
echo '年龄: ',$girlfriend->age, '<br>';
echo '三维: ', print_r($girlfriend->stature,true), '<br>';
$girlfriend->hobby = '舞蹈';
echo '爱好:'.$girlfriend->hobby.'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学