PHP学习笔记二: 面向对象设计

public 表示全局,类内部外部子类都可以访问;
复制代码
 1 <?php
 2     
 3     class Test{
 4         public  $name='Janking',
 5                 $sex='male',
 6                 $age=23;
 7         
 8         function __construct(){
 9             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
10         }
11         
12          function func(){
13             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
14         }
15     }
16 
17 
18 $P=new Test();
19 echo '<br /><br />';
20 $P->age=100;
21 $P->name="Rainy";
22 $P->sex="female";
23 $P->func();
24 ?> 
Public
复制代码
private表示私有的,只有本类内部可以使用;
复制代码
 1 <?php
 2     
 3     class Test{
 4         private  $name='Janking',
 5                 $sex='male',
 6                 $age=23;
 7         
 8         function __construct(){
 9             $this->funcOne();
10         }
11         
12          function func(){
13             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
14         }
15         
16         private function funcOne(){
17             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
18         }
19     }
20 
21 
22 $P=new Test();
23 echo '<br /><br />';
24 $P->func();
25 $P->age=100;        // Cannot access private property Test::$age 
26 $P->name="Rainy";   // Cannot access private property Test::$name 
27 $P->sex="female";   // Cannot access private property Test::$female
28 $P->funcOne();      // Call to private method Test::funcOne() from context ''
29 ?> 
Private
复制代码
protected表示受保护的,只有本类或子类或父类中可以访问;


 和封装有关的魔术方法:

 __set():是直接设置私有成员属性值时,自动调用的方法
 __get():是直接获取私有成员属性值时,自动调用的方法
 __isset(); 是直接isset查看对象中私有属性是否存时自动调用这个方法
 __unset(); 是直接unset删除对象中私有属性时,自动调用的方法

 
posted @   琅琊丶  阅读(334)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示