博客列表 >对象的创建、初始化以及魔术方法的使用--2018年5月2日22点43

对象的创建、初始化以及魔术方法的使用--2018年5月2日22点43

Alan_繁华
Alan_繁华原创
2018年05月02日 22:43:45776浏览

第一个对象实例

<?php

/*
 * 创建对象,并对 对象中的属性进行设置
 * PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods)
 */
class FirstClass
{
    private $name = '';
    private $sex = 0;
    private $age = 0;

    //1.创建构造方法,对成员是属性初始化
    public function __construct($name='',$sex=1,$age=20)
    {
        $this->name = $name;
        $this->sex = $sex;
        $this->age = $age;
    }
    //查询器:__get()通过它可以在对象的外部获取私有成员属性的值
    public function __get($privatename)
    {
        if ($privatename == "age") {
            return "你的年龄是".$this->$privatename;
        } else {
            return $this->$privatename;
        }
    }
    //3.设置器:__set()通过它可以在对象的外部给私有成员属性设值
    public function __set($privatename, $value)
    {
        if ($privatename == "age")
        {
            if($value > 60){
                $this->$privatename = $value;
            }else{
                $this->$privatename = "您输入的年龄:".$value."不合格";
            }

        }else{
            $this->$privatename = $value;
        }

    }


}

运行实例 »

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


调用对象实例

<?php
/**
 * 调用/设置对象中的属性
 */
require "class/FirstClass.php";
//初始化类,并赋值
$firstClass = new FirstClass('alan',0,80);

//通过__get()在对象外调用私有属性

//echo $firstClass->age;//输出:“你的年龄是80”

//通过__set()再对象外对私有属性赋值

$firstClass->age = 50 ;
echo $firstClass->age; // 输出“你的年龄是您输入的年龄:50不合格”

运行实例 »

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


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