批改状态:合格
老师批语:
类:
<?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;点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号