Correction status:qualified
Teacher's comments:
类:
<?php /** * 类的构造方法与查寻器与设置器 */ class Desk3 { //类成员:属性,方法 //类属性,初始化必须使用标量的字面量,数组也行。不能用变量,表达式,对象 //值可给可不给,习惯性动作 private $shape = '';//私有的,仅允许在当前类中被访问,外部不能访问 private $color = ''; private $size = []; //声明一个构造方法:在实例化类的时候自动调用 //构造方法也是构造器:对象属性的初始化 public function __construct($shape='',$color='',array $size=[]) { $this->shape = $shape; $this->color = $color; $this->size = $size; } //查询器__get($name) //双下划线开始的是:魔术方法,由系统直接调用 //当访问一个没有权限的读取属性的时候,会自动触发这个魔术方法 public function __get($name) { return $this->$name; } //设置器:__set($name,$value) public function __set($name, $value) { if($name =='color'){ if(in_array($value,range(20,90))){ $this->$name = $value; } }else{ $this->$name = $value; } } }
点击 "运行实例" 按钮查看在线实例
demo:”
<?php /** * */ header('Content-type:text/html;charset=Utf-8'); require 'class/Desk3.php'; $desk3 = new Desk3('圆型','红色',[30,49,60]); //$desk3->shape='矩形'; echo $desk3->shape.'<br>'; echo '<hr>'; $desk3->color=80; echo $desk3->color; //新增属性也是可以的额 //$desk3->haha = 20; //echo $desk3->haha;
点击 "运行实例" 按钮查看在线实例