刘68

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

<?php
//1.封装
//目的:为了使一个类更加安全
//做法:
//1.将成员变量变为私有的
//2.在类里面做方法来间接访问成员变量
//3.在方法里面加控制

class Ren
{
public $code; //人员代号
private $name; //人员名称
private $sex; //人员性别
private $age; //人员年龄,必须在18-50周岁之间

//构造方法,用来初始化性别
function __construct($s)
{
$this->sex = $s;
}

/*//造一个修改年龄的方法
function SetAge($a)
{
//加控制
if($a>18 && $a<50)
{
$this->age = $a;
}
}
//造一个获取age值的方法
function GetAge()
{
return $this->age;
}*/

//给变量赋值的魔术方法
function __set($n,$v)
{
if($n=="age")
{
if($v>18 && $v<50)
{
$this->$n = $v;
}
}
else
{
$this->$n = $v;
}
}

//__get魔术方法,用来取变量值的
function __get($n)
{
return $this->$n;
}
}

//造对象
$r = new Ren("男");
//$r->SetAge(30);
//$r->__set("age",30);

$r->age = 30; //自动调用__set()方法,将变量名当做第一个参数,将等号右边的值当做第二个参数
$r->name = "张三";

//echo $r->sex; //自动调用__get()方法,将变量名当做参数
//var_dump($r);


class Dog
{
private $name;

function Jiao()
{
echo $this->name."在叫";
}

function SetName($n)
{
$this->name = $n;
return $this;
}

}

$d = new Dog();
$d->SetName("旺财")->Jiao();


?>

posted on 2016-12-13 15:09  刘68  阅读(138)  评论(0编辑  收藏  举报