博客列表 >构造方法,魔术方法的基本应用

构造方法,魔术方法的基本应用

1
1原创
2018年05月18日 00:25:261101浏览

实例

<?php
/**
 * 1.类声明应该独立创建一个文件
 * 2.类文件名称必须与类名一致
 */

class GirlFriends4
{
    /**
     * 类的构造方法和查询器
     */
    /***
     * private:访问控制符:仅允许在当前类中被访问,
     * 外部不能访问,除非通过外部的接口:接口器/查询器
     */
    private $name='';

    private $age=0;
//public $age = 27+10;表达式;public $age =$name;变量public $age = new $name;对象

    private $stature=[];

//声明一个构造方法:在实例化类的时候自动调用
//构造方法:对象的初始化,对象克隆,对象的序列化,对象的销毁
//对象的初始化
    public function __construct($name,$age,array $stature)
    {
        $this->name = $name;
        $this->age= $age;
        $this->stature = $stature;
    }

 //查询器:__get($name),能被系统自动调用
    //不需要用户去调用::当访问没有权限读取的属性的时候,会自动触发
    public function __get($name)
    {

        return $this->$name;
    }
    //设置器
    public function __set($name,$val)
    {
        if($name == 'age'){
            if(in_array($val,range(14,120))){
                $this->$name = $val;
            }
       }else{
            $this->$name = $val;
        }

    }
}

运行实例 »

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

测试脚本


实例

<meta charset="UTF-8">
<?php
require './class/GirlFriends4.php';

$girlfriends4 = new GirlFriends4('叶筱葵',27,[88,89,90]);

echo $girlfriends4->name;
echo '<br>';

$girlfriends4->age = 10;
echo $girlfriends4->age;

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议