<?php
//类的概念
//对象的概念
//定义类
//class Ren
{
//成员变量
//成员方法
}
//造对象
//$r=new Ren();
//调用对象的成员$r->
//面向对象三大特性:封装,继承,多态
//1.封装
//目的:让类更加的安全 做法:不让外界直接访问类的成员
//具体做法:
//1.成员变成私有:访问修饰符:(public公有的 private私有的 protected受保护的,只有该类和子类可访问)
//2.造成员方法,来操作变量
class Ren
{
private $age;//私有成员
private $name;
private $sex;
//构造函数 在造对象时,对成员变量进行初始化的
/*特殊点:1.执行时间特殊:造对象new时自动执行
2.写法特殊 __construct */
function __construct($s)
{
$this->sex=$s;
}
/*(方法一)
//造方法去给变量赋值
public function setAge($a)
{
if($a>18and$a<50 )
{
$this->age=$a;
}
}
//取值
function GetAge()
{
return $this->age;
}*/
//(方法二)
//3.适用类中提供的__get()和__set()方法,变量赋值的方法
function __set($n,$v)
{
if($n=="age")
{
if($v>18and $v<50)
{
$this->$n=$v;
}
}
else
{
$this->$n=$v;
}
}
//取值方法
function __get($n)
{
return $this->$n;
}
}
$r=new Ren("男");
//$r->age=20;
//$r->name="张三";
//echo $r->name;
var_dump($r);
?>