/*封装:面向对象的三个特性之一
*将对象的成员(属性、方法)组合为独立的相同单位,并尽可能隐藏对象内部的详细信息
*公共保护
*私有,用该关键字限定的成员只能在对象内部访问,只能在$this中访问。 在对象外部不可用
*属性可以封装:
如果需要在多个方法中使用一个变量,则可以将此方法声明为成员属性,并直接与此对象中的所有方法一起使用
*成员属性相当于此对象的全局变量
*成员属性在方法中使用。 更改成员属性值实际上是更改方法的执行行为,即对象的功能
*如果成员属性的值不正常,则方法执行的功能也不正常
*450ma----650ma----5a
*3.8----4.2v----220v
*作用:无需在对象外部更改或读取值
*1.软件包
*提供另一个公共方法。 可以通过从方法对象的成员属性分配值并获取值来控制。)
也可以封装方法:
*作用:
使用私有修饰只能在内部使用
一个类有100个方法,封装了95个(服务于其他5个的方法),只能使用5个方法
100个成员的所有属性都必须取值,不能更改值。 有人不想让你知道真正的值
*与软件包相关的魔术方法:
*__set (:直接设置专用成员的属性值时自动调用的方法
__get (:直接获取专用成员的属性值时自动调用的方法
__isset (; 直接isset在检查对象中是否存储了专用属性时自动调用
__unset (; 直接unset从对象中删除专用属性时自动调用的方法
*/class Person {
隐私$ name;
隐私$ age;
隐私$ sex;
function__construct($name='、$age=0、$sex='男人')。
$this-name=$name;
$this-age=$age;
$this-sex=$sex;
}
私有函数_ _ get ($ proname ) {
if($proName=='age ' ) {
if($this-age40 ) )。
返回$ this-age-10;
}
返回$ this-$ proname;
}
私有函数_ _ set ($ proname,$proValue ) {
if($proName=='age ' ) {
if($proValue 100 || $proValue 0)
返回;
}
$this-$proName=$proValue;
}
功能say () }
echo '我的名字: {$this-name},我的年龄: {$this-age},我的性别: {$this-sex}。
';
}
函数run (}
$this-left (;
$this-left (;
$this-right (;
$this-right (;
$this-gogo (;
$this-gogo (;
$this-gogo (;
}
私密功能左
Echo'llllllllll
';
}
私有函数权限
echo ' rrrrrrrrrrrrrrrrrrrrrrrrr
';
}
私人功能gogo
echo 'GGGGGGGGGGGGGGGGG
';
}
私有函数_ _ isset ($ proname )。
if($proName=='age ' )
返回假;
返回isset ($ this-$ proname;
}
私有函数_ _ unset ($ proname ) {
unset($this-$proname );
}
function eat
}
function __destruct
echo $this-name.'再见!
';
}
}
$P1=newPerson('Zhangsan ',80,'女');
$ p2=新人员(' Lisi ',25 );
$P3=newPerson('WangWu );
unset($P1-name;
if(isset($P1-name ) ) }
存在echo '
';
}else{
echo '没有这个成员
';
}