PHP的類和物件 四 訪問控制和繼承

2021-07-23 07:27:51 字數 1153 閱讀 3346

訪問控制

對屬性或方法的訪問控制,是通過在前面新增關鍵字 public(公有),protected(受保護)或 private(私有)來實現的。被定義為公有的類成員可以在任何地方被訪問。被定義為受保護的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。

預設為public,var也是public。

訪問同乙個物件型別的私有成員

如果建構函式定義成了私有方法,就不能直接例項化物件了,這時候一般通過靜態方法進行例項化,在設計模式中會經常使用這樣的方法來控制物件的建立,比如單例模式只允許有乙個全域性唯一的物件。

物件繼承

通過extends來繼承,子類就會繼承父類所有公有的和受保護的方法。除非子類覆蓋了父類的方法,被繼承的方法都會保留其原有功能。

如果父類中的方法被宣告為 final,則子類無法覆蓋該方法。同樣如果乙個類被宣告為 final,則不能被繼承。 需要注意的是: 屬性不能被定義為 final,只有類和方法才能被定義為 final。

如果新的類中沒有自己的建構函式,那麼子類會自動呼叫父類的構函式。

子類可以使用parent::方法()或者$this->方法()(不建議使用)來呼叫父類的函式。

如果乙個子類中的方法與父類同名,那麼 parent::方法() 呼叫的是父類的方法,而 $this->方法() 呼叫的是子類的方法。

屬性無法區分父類和子類,可以使用$this->屬性(沒有$)呼叫,子類同名屬性會覆蓋父類的。

C 訪問控制,類和物件2 1

class是對struct的擴充套件,含有資料成員和成員函式 在類的成員變數不寫public,預設許可權為private,變數和函式只能在內部使用,外部 不能訪問,public類外的程式可使用。c 規範中,類的首字母應該大寫。int a int 是型別,a是變數 person per person ...

c 學習二(訪問控制 類和物件)

很基礎的知識 利用c 語言寫的源檔名的字尾是用cpp結尾的。然後在linux下編譯的時候是用g 編譯的 如果類裡面的屬性或者函式沒有顯式宣告為public或者private,那麼類中的變數和函式的許可權預設為private。就表明這個類中的這些函式和變數只能在類內部中使用。想讓類外部的 訪問類內部的...

類的封裝和訪問控制

基本概念 類 物件 成員變數 成員函式 物件導向三大概念 封裝 繼承 多型 類的封裝 把屬性和方法進行封裝 對屬性和方法進行訪問控制 類的訪問控制關鍵字 public 修飾的成員變數和函式 可以在類的內部和類的外部訪問 private 修飾的成員變數和函式 只能在類的內部被訪問,不能在類的外部訪問 ...