PHP中的访问控制

PHP中的访问控制符有三种:public,protected和private。

注:打勾表示可以在该位置上,可以访问修饰符修饰的类成员。访问是通过使用类名/类对象来访问的。

对于protected修饰符而言,
1)子类继承了父类中protected修饰的成员;
2)子类中可以定义父类对象或使用父类名来访问
protected修饰的成员。

举例说明:

<?php
	class Person {
		private $_name;
		protected static $CITY = "Xiamen";
		protected $age = 22;
		
		public function __construct($name) {
			$this->_name = $name;
		}
		
		protected function getName() {
			return $this->_name;
		}
		
		protected function getCountry() {
			return "China";
		}
	}
	
	class Student extends Person {
		public function getInfo() {
			$p = new Person("myName");
			
			echo "继承了protected修饰的\$age成员属性:".$this->age."。<br />";
			echo "继承了protected修饰的getCountry()成员方法:".$this->getCountry()."。<br />";
			echo "通过父类对象调用了protected修饰的getName()实例方法:".$p->getName()."。<br />";
			echo "通过父类名访问protected修饰的\$CITY静态属性:".Person::$CITY."。<br />";
		}
	}
	
	$s = new Student();
	echo $s->getInfo();
	
	/* 输出:
		继承了protected修饰的$age成员属性:22。
		继承了protected修饰的getCountry()成员方法:China。
		通过父类对象调用了protected修饰的getName()实例方法:myName。
		通过父类名访问protected修饰的$CITY静态属性:Xiamen。
	*/
?>

注意:
1)父类中的private修饰的成员不会被子类继承;
2)类对象是可以访问类的静态成员的,如:$this::$CITY。

转载于:https://my.oschina.net/belinwu/blog/70866

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值