Correction status:qualified
Teacher's comments:
总结:
类就是对象的模板,对象是类的一个实例,一个对象不能被直接创建,它一定先有类。
类属性的初始化:必须使用标量的字面量,数组也行,不能用变量,表达式,对象
private:访问控制符,仅允许在当前类中被访问,外部不能访问
类文件代码:
<?php // 创建一个特种兵类 class Police { private $name = ''; private $age = 0; private $height =0; public function __construct($name,$age,$height) { $this->name = $name; $this->age = $age; $this->height = $height; } public function __get($name) { //只有用户名为张鑫才能访问属性 if ($this->name=='张鑫') { return $this->$name; } } public function __set($name,$value) { if ($name=='age') { // 年龄大于18的才能当特种兵 if ($value>=18) { $this->$name = $value; } }else if ($name=='height') { // 身高高于1.8的才能当特种兵 if ($value>=1.8) { $this->$name = $value; } }else{ $this->$name = $value; } } }
点击 "运行实例" 按钮查看在线实例
测试文件代码:
<?php // 1.导入文件 require './class/Police.php'; // 2.创建一个对象 $police = new Police('张鑫',25,1.85); // 3.查看对象里面的属性 echo $police->age; // 4.更改对象里面的属性值 echo '<hr>'; $police->age=15; //年龄必须大于等于18才能改值 echo $police->age; echo '<hr>'; $police->age=18; //年龄必须大于等于18才能改值 echo $police->age; echo '<hr>'; $police->height=1.5; //身高必须大于等于1.8才能改值 echo $police->height; echo '<hr>'; $police->height=1.95; //身高必须大于等于1.8才能改值 echo $police->height;
点击 "运行实例" 按钮查看在线实例