博客列表 >面向对象初体验——构造方法__construct()、魔术方法__get()和__set()——2018年5月2日

面向对象初体验——构造方法__construct()、魔术方法__get()和__set()——2018年5月2日

JackBlog
JackBlog原创
2018年05月03日 23:00:13759浏览

知识点:

1、__construct() :允许在实例化一个类之前先执行构造方法

2、__get():用来获取私有成员属性值的,有一个参数

3、__set():用来设置私有成员属性值的

QQ截图20180503225822.png


实例

<?php
/医院
 * Class member
 */

class member
{
//    属性初始化
    private $name = '';
    private $age = 0;

//定义一个构造方法初始化赋值
    public function __construct($name, $age)
    {
        $this->name = $name;
        $this->age = $age;

    }
//魔术方法
 public function __get($name)
 {
    return $this->$name;
 }
public function __set($name, $value)
{
   if($name=='age'){
        if(in_array($value,range(1,100))){
            $this->$name = $value;
        }
   }else{
       $this->$name = $value;
   }

}
}

运行实例 »

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

实例

<?php
require 'class/member.php';

$user = new member('Json',26);

$user->name = 'Mike';
$user->age = 20;
echo '名字:'.$user->name.',年龄:'.$user->age;

运行实例 »

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


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