記PHP物件導向程式設計

2022-05-08 07:00:09 字數 928 閱讀 1037

public(公開的):可以在類中、子類中、類外訪問。

protected(受保護的):只能在類本身及子類中訪問。

private(私有的):只能在宣告他們的類中進行訪問,私有的類成員不能被子類或者這個類的物件例項直接訪問。

在繼承概念被應用在一些場景中,建立乙個父類的例項將會顯得不怎麼合適。在這種情況下,如果將父類定義為乙個抽象基類,而不是標準的基類,會顯得更加合適(抽象類不能被例項化)。

抽象類定義了這個基類的繼承類(子類)中的一些方法。然後子類會負責定義這些方法的真正的實現。

抽象類和普通類的區別在於,如果試圖從抽象類建立乙個物件將會出現乙個致命錯誤,抽象類就是被用來擴充套件的,然後我們就可以建立這些派生類的例項。

抽象類和方法的定義:

//

抽象類的定義從abstract關鍵字開始

abstract

class

people

//子類中

實現抽象類的方法

class teacher extends

people

}

注意:1.在子類裡實現抽象方法的時候,其可見性必須高於或等於抽象方法的定義的可見性。如果抽象方法是公開的(public),子類裡的實現方法也必須是公開的。如果抽象方法是受保護的(protected),那麼子類將只能是受保護的或者公開的。

2.我們不能將抽象方法定義為私有的(private),因為乙個私有的方法不能夠被繼承。

3.在所有情況下,方法的實現版本也必須和抽象方法具有一樣數目的引數(函式簽名要一致)。

4.子類中必須實現基類中所有的抽象方法,否則將會出現乙個致命錯誤。

5.屬性沒有抽象一說,抽象類中的屬性定義為正常屬性,子類也可以覆蓋抽象類中的屬性,此時屬性的可見性設定與抽象方法是一致的(見第1條)。

本章部落格會不定期更新所有有關php物件導向的知識,敬請期待……

PHP物件導向程式設計

類中常用關鍵字 1 關鍵字 final 用來定義類和方法的乙個重要關鍵字,當定義類的時候該類將不能被繼承,當用來定義方法的時候該方法將不能被過載 2 關鍵字 self 用來用類訪問當前類中的內容的關鍵字,類似與 this關鍵字,但 this是需要 類例項化以後才可以使用,self 可以直接訪問當前類...

php物件導向程式設計

物件導向程式設計的概念 不同的作者之間說法可能不一樣,但是乙個oop語言必須有以下幾方面 抽象資料型別和資訊封裝 繼承 多型 在php中是通過類來完成封裝的 class something function getx 當然你可以按自已的喜好進行定義,但最好保持一種標準,這樣會更有效。資料成員在類中使...

php物件導向程式設計

單一職責 乙個類只需要做好一件事情。開放關閉 乙個類可擴充套件,而不可修改。依賴倒置 乙個類不應該強依賴另乙個類,每個類對於另乙個類都是可替換的。配置化 盡可能地使用配置,而不是硬編碼。面向介面程式設計 只需關心介面,不需要關心實現。單例模式 單例設計模式常應用於資料庫類設計,採用單例模式,只連線一...