php物件導向-修飾符和抽象類別和介面

來源:互聯網
上載者:User

標籤:--   執行個體   rac   font   產生   變數   cti   實現   繼承   


PHP中有三種存取修飾詞,分別是:

public(公用的、預設)
protected(受保護的)
private(私人的)

它們可以分別用在類的屬性和方法上(類的屬性和方法統稱為類的成員),用來修飾類成員的存取權限。
public(公用的、預設)?
在PHP5中如果類沒有指定成員的存取修飾詞,預設就是public的存取權限。

/*
以下兩個方法聲明存取權限效果相同
*/
function say(){};
publilc function say(){};

當類的成員被聲明為public的存取修飾詞時,該成員能被外部代碼訪問和操作。
private(私人的)
被定義為private的成員,對於類內部所有成員都可見,沒有訪問限制。對類外部不允許訪問。
protected(受保護的)
protected稍微有點複雜,被聲明為protected的成員,只允許該類的子類進行訪問。

 

----------------------------------------------------------------------------------------------
PHP 抽象方法與抽象類別 abstract 關鍵字
abstract 關鍵字用於定義抽象方法與抽象類別。
抽象方法
抽象方法指沒有方法體的方法,具體就是在方法聲明的時候沒有 {} 括弧以及其中的內容,而是直接在聲明時在方法名後加上分號結束。
abstract 關鍵字用於定義抽象方法,文法:
abstract function function_name();
抽象類別
只要一個類裡面有一個方法是抽象方法,那麼這個類就要定義為抽象類別。抽象類別同樣用 abstract 關鍵字來定義。
抽象類別不能產生執行個體對象,通常是將抽象方法做為子類方法重載的模板使用的,且要把繼承的抽象類別裡的方法都實現。實際上抽象類別是方便繼承而引入的。


------------------------------------------------------------------------------------------------
介面
PHP類是單繼承,也就是不支援多繼承,當一個類需要多個類的功能時,繼承就無能為力了,為此PHP引入了介面技術
如果一個抽象類別裡面的所有方法都是抽象方法,且沒有聲明變數,而且介面裡面所有的成員都是public許可權的,那麼這種特殊的抽象類別就叫介面
介面使用interface關鍵字定義,並使用implements來實現介面的方法,且必須完全實現

php物件導向-修飾符和抽象類別和介面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.