举例说明 public private protected 的区别

本文深入探讨面向对象编程中public、private、protected三种访问修饰符的区别,通过实例展示它们如何影响类成员的访问权限,以及如何在继承关系中应用这些修饰符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public private protected 的区别

public 表示全局,类内部外部子类都可以访问;
private表示私有的,只有本类内部可以使用;
protected表示受保护的,只有本类或子类或父类中可以访问;

<?
//父类
class father{
 public function a(){
  echo "function a";
 }
 private function b(){
  echo "function b";
 }
 protected function c(){
  echo "function c";
 }
}
//子类
class child extends father{
  function d(){
    parent::a();//调用父类的a方法
  }
  function e(){
    parent::c(); //调用父类的c方法
  }
 function f(){
    parent::b(); //调用父类的b方法
  }

}
$father=new father();
$father->a();
$father->b(); //显示错误 外部无法调用私有的方法 Call to protected method father::b()
$father->c(); //显示错误 外部无法调用受保护的方法Call to private method father::c()

$chlid=new child();
$chlid->d();
$chlid->e();
$chlid->f();//显示错误 无法调用父类private的方法 Call to private method father::b()
?> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值