當前位置:編程學習大全網 - 編程語言 - php怎麽理解這些個關鍵字啊,public;private;protect;final;static;const;我感覺這

php怎麽理解這些個關鍵字啊,public;private;protect;final;static;const;我感覺這

public: 公有屬性或方法

在子類中可以通過self::var 或self::method 來調用 ,可以通過parent::method來調用父類中的方法,但不能調用公有屬性.

在實例中可以通過$obj->var或self::method 來調用

protected: 受保護類型

在子類中可以通過self::var 或self::method調用, 可以通過parent::method來調用父類中的方法

在實例中不能通過$obj->var 來調用 protected類型的方法或屬性

private: 私有類型

該類型的屬性或方法只能在該類中使用,在該類的實例、子類中、子類的實例中都不能調用私有類型的屬性和方法

再來說說final

1.final不能用來修飾成員屬性

2.final只能修飾類和方法

作用:被修飾的類不能被子類所繼承;被修飾的方法不能被子類的方法覆蓋。

然後來說說static

1.static用來修飾成員屬性和成員方法,但不能用來修飾類

2.用static修飾的成員屬性可以被同壹個類的所有對象***享

3.靜態的數據是存在 內存中的 數據段中(初始化靜態段)

4.靜態的數據是在類在第壹次加載時,分配到內存中的

5.什麽是類被加載?只要在程序中使用到這個類(有這個類名出現)

6.靜態的成員屬性都要用類名去訪問,不用創建對象,不用對象去訪問;在類裏邊可以用self代表本類($this)

7.靜態方法,不能訪問非靜態的成員屬性(但是,在非靜態方法卻能訪問靜態的成員屬性),非靜態的成員屬性,必須用對象訪問,在內部訪問非靜態成員屬性,用$this.

8.如果妳確定壹個方法中不需使用到非靜態的成員屬性,則可以將這個方法聲明為靜態方法,不需實例化對象,就可以訪問

最後來說說const

1.它只能用來修飾成員屬性

2.在類中聲明常量必須使用const

3.訪問方式和訪問靜態成員屬性壹樣(類外使用 類名::成員屬性,類裏邊則使用self::成員屬性)

4.常量壹定要在聲明的時候就給初始值

  • 上一篇:三坐標怎麽用同心圓建立坐標系
  • 下一篇:程序的讀音程序的讀音是什麽
  • copyright 2024編程學習大全網