博主信息
博文 36
粉丝 0
评论 1
访问量 34280
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
创建一个类
其琛的博客
原创
1294人浏览过

php类代码如下

<?php
class lei
{
//    声明类属性
public $name = '';
//这种声明可以直接访问调用
private $age = 18;
//私密的,调用需要端口
private $grade = 66;

private $data=[];
//构建类方法
public function __construct($name = '',$age = 18,$grade = 66)
{
    $this->name = $name;
    $this->age = $age;
    $this->grade = $grade;

}
//魔术方法:查询器__get()
    public function __get($age){
//    检测访问不存在的值给出提示
        $msg = null;
        if(isset($this->$age)){
            $msg=$this->$age;
        } elseif (isset($this->data[$age])) {
            $msg = $this->data[$age];

        } else {
            $msg = '无此属性';
        }
        return $msg;
}
//魔术方法:设置器———set()
    public function __set($grade, $value)
    {
        //完善设置器,实现对不存在属性的创建
        //如果访问的是已存在的属性,则直接输出
        if (isset($this->$grade)) {
            $this->$grade = $value;
        } else {
            //如果属性不存在,则创建它并保存到类属性$data数组中
            $this->data[$grade] = $value;
        }

    }

}

调用代码如下

<?php
require '作业30.php';
$lei = new lei('赵雷',20,90);
//测试——get()方法
echo '姓名:'.$lei->name.'<br>';
echo '年龄:'.$lei->age.'<br>';
echo '成绩:'.$lei->grade.'<br>';
echo '爱好:'.$lei->hobby.'<br>';
//不存在属性
//测试-set()方法
$lei->name = '韩梅梅';
$lei->age = '21';
$lei->grade = '89';
//给一个不存在属性
$lei->hobby= '赵雷';
echo '姓名:'.$lei->name.'<br>';
echo '年龄:'.$lei->age.'<br>';
echo '成绩:'.$lei->grade.'<br>';
echo '爱好:'.$lei->hobby.'<br>';
echo '用户自定义属性<pre>'.print_r($lei->data,true).'</pre>';

样式如下DKTV22FT1H`3%8)[FX}[JSA.png

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学