php三種存取權限(oop)的差別是什麼

黄舟
發布: 2023-03-16 10:40:01
原創
4203 人瀏覽過

php三種存取權限(oop)的差別是什麼

PHP物件導向(oop)中有三種存取權分別是:

public: 公有類型

特點:外部可調用,內部可調用,子類別可調用

在子類別中可以透過self::var調用public方法或屬性,parent::method呼叫父類別方法

在實例中可以能過$obj->var 來呼叫public類型的方法或屬性

protected: 受保護類型

#特點:外部不可呼叫 ,內部可呼叫  子類別可以呼叫

在子類別中可以透過self::var呼叫protected方法或屬性,parent::method呼叫父類別方法

#在實例中不能透過$obj->var 來呼叫  protected類型的方法或屬性

private: 私有類型

#。內部可調用,子類別不可調用該類型的屬性或方法只能在該類別中使用,在該類別的實例、子類別中、子類別的實例中都不能呼叫私有類型的屬性和方法

程式碼舉例

<?php  
	//final类不能被继承,final类不能被重写
	//public 外部可调用,内部可调用,子类可调用
	//protected 受保护类   外部不可调用   子类可以调用
	//private私有的   外部不可调用   子类不可调用
class human{
	//公有的
	public $money = 1000;
	//受保护的
	protected $che = "bmw";
	//私有的
	private $flower = "meigui";
 
	//调用公有类
	public function t1(){
		echo $this->money;
	}
	//调用受保护的
	public function t3(){
		echo $this->che;
	}
	//调用私有的
	public function t5(){
		echo $this->flower;
	}
}
 
class stu extends human{
	//子类调用公有的
	public function t2(){
		echo $this->money;
	}
	//子类调用受保护的
	public function t4(){
		echo $this->che;
	}
	//子类调用私有的
	public function t6(){
		echo $this->flower;
	}
 
}
 
//实例化对象
$stu = new stu();
echo $stu->money;
echo $stu->t1();
echo $stu->t2();
echo $stu->t3();
echo $stu->t4();
echo $stu->t5();
echo $stu->t6();
登入後複製

補:self 和parent 的區別

##a).在子類別中常用到這兩個物件。他們的主要差異在於self可以呼叫父類別中的公有或受保護的屬性,但parent不可以呼叫

b).self:: 它表示目前類別的靜態成員(方法與屬性) 與$ this 不同,$this是指目前物件

更多相關知識,請造訪 ###PHP中文網###! ! ###

以上是php三種存取權限(oop)的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!