PHP面向对象程序设计类的定义与用法简单示例
本文实例讲述了PHP面向对象程序设计类的定义与用法。分享给大家供大家参考,具体如下:
<?php classPerson{ private$name; private$sex; private$age; function__construct($name="",$sex="男",$age=22){ $this->name=$name; $this->sex=$sex; $this->age=$age; } //直接为私有属性赋值时自动调用,可以屏蔽一些非法赋值 //之前有版本可以设置方法为privatefunction__set() //Themagicmethod__set()musthavepublicvisibility //因为5.35对魔术方法限制的严格了 publicfunction__set($propertyName,$propertyValue){ if($propertyName=="sex"){ if(!($propertyValue=="男"||$propertyValue=="女")){ return; } if($propertyValue>150||$propertyValue<0){ return; } } //根据传入的成员属性名,赋上相应的值 $this->$propertyName=$propertyValue; } //用来获取私有属性 publicfunction__get($propertyName){ if(isset($this->$propertyName)){ return($this->$propertyName); }else{ return(NULL); } } publicfunction__isset($propertyName){ if($propertyName=="name"){ returnfalse;//返回假,不允许在对象外部测定这个属性 } returnisset($this->$propertyName); } publicfunction__unset($propertyName){ if($propertyName=="name"){ return;//不允许删除name属性 } unset($this->$propertyName); } functionsay(){ echo$this->name."在说话<br/>"; } functionrun(){ echo"在走路·<br/>"; } function__destruct(){ echo"goodbye".$this->name."<br/>"; } } $person1=newPerson(); $person2=newPerson("2"); $person3=newPerson("3"); //自动调用了__set() $person1->name="张三"; echo$person1->name; echo"<br/>"; echo$person1->say(); //自动调用了__get() echo$person1->age; echo"<br/>"; var_dump(isset($person1->name)); echo"<br/>"; unset($person1->name); echo"unset------------>".$person1->name;//name没有被unset() echo"<br/>"; $person2=null; ?>
结果:
张三 张三在说话 22 bool(false) unset------------>张三 goodbye2 goodbye3 goodbye张三
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。