Blogger Information
Blog 46
fans 1
comment 1
visits 30284
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
创建一个类--查询器:__get();设置器:__set()--2018年5月2日
笨鸟先飞
Original
422 people have browsed it

类:

实例

<?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;

运行实例 »

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


Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post