Blogger Information
Blog 36
fans 0
comment 1
visits 28177
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
创建一个类
其琛的博客
Original
1086 people have browsed it

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

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post