php 对象直接访问私有属性
admin
2023-06-25 13:42:47
0
name=$name;
			$this->age=$age;
			$this->sex=$sex;
		}
		
		/*
			输出 Cannot access private property Person::$name
			
			对象不能直接访问和设置私有属性的值,但是通过魔术方法__get($proName), __set($proName,$proValue)可以做到.
			步骤:
				1.重写魔术方法__get($property) , __set($proName,$proValue)
				2.用对象直接访问或设置私有属性
					$p1->name="对象直接访问私有属性";
					echo $p1->name;
				3.对象直接访问或设置私有属性时,会自动调用魔法方法__get($proName), __set($proName,$proValue)
		*/
		function __get($proName){
			return $this->$proName;
		}
		
		function __set($proName,$proValue){
			$this->$proName=$proValue;
		}
		
		function say(){
			echo "$this->name:我的年龄$this->age,性别:$this->sex
"; } function run(){ $this->left(); $this->right(); } private function left(){ echo "left"; } private function right(){ echo "right"; } //析构方法,对象销毁前自动调用 function __destruct(){ echo "$this->name:我走了
"; } }   $p1 = new Person("name1",15,"女"); $p2 = new Person("name2",20,"男"); $p3 = new Person("name3",30,"女"); /* 对象直接访问或设置私有属性 */ $p1->name="对象直接访问私有属性"; echo $p1->name."
"; /* 输出,注意__destruct()的输出顺序 name1:我的年龄15,性别:女 name2:我的年龄20,性别:男 name3:我的年龄30,性别:女 name1:我走了 name3:我走了 name2:我走了 */ $p1->say(); $p2->say(); $p3->say(); $p1=null; ?>


相关内容

热门资讯

电视为什么一直闪屏 由于电源电压不稳定或电源供电不足的缘故、电视分辨率的故障、电视存在周围有电磁干扰的缘故、电视的刷新频...
专访塞尔维亚总统武契奇 塞尔维亚总统武契奇首次对中国进行国事访问,接受《高端访谈》专访。他说,这是他政治生涯中最重要的一次访...
大理宾川:六一儿童节前夕,警方... “大风在刮,大雪在下。烽火中拼杀,危难的关头热血护中华。不怕流血,不怕牺牲。只为守护家,先烈用生命换...
杀入固态电池赛道,5150 亿... 农夫山泉创始人、前中国首富钟睒睒,又有新动作! 近日,钟睒睒通过旗下养生堂战略投资固态电池材料企业智...
南京测试机器人楼宇外立面清洗,... 扬子晚报网5月29日讯(记者 张可)南京存量楼宇数量庞大、外立面日常养护、翻新清洁需求旺盛。长期以来...
特朗普推迟就伊朗相关协议作最终... 新华社华盛顿5月29日电(记者黄强 徐剑梅)据美国《纽约时报》29日援引一名不愿透露姓名的政府高级官...
字节跳动AI4S团队调整,由杨... 有传言称,字节Seed旗下AI4S团队,正在讨论新一轮组织调整,包括从字节分拆的可能性。 5月29日...
算启新程 智领未来 中国移动亮... 蓬勃盛夏,智潮奔涌。5月28日,2026世界智能产业博览会(以下简称“智博会”)在天津盛大开幕。作为...
原创 v... PChome 5月29日评测,作为一个手机相册里存着几千张Live图的人,vivo S系列一直是我的...
神舟二十一号航天员乘组平安抵京 据中国载人航天工程办公室消息,圆满完成神舟二十一号载人飞行任务的航天员乘组,于北京时间2026年5月...