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 ?>
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 ?>
protected表示受保护的,只有本类或子类或父类中可以访问;
和封装有关的魔术方法:
__set():是直接设置私有成员属性值时,自动调用的方法
__get():是直接获取私有成员属性值时,自动调用的方法
__isset(); 是直接isset查看对象中私有属性是否存时自动调用这个方法
__unset(); 是直接unset删除对象中私有属性时,自动调用的方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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,谁才是开发者新宠?