-
單例模式: 每個類只能被實例化一次。因為每實例化就會占用內存空間,這樣可以節省空間 注意: 1、單例類只能有一個實例。 2、單例類必須自己創建自己的唯一實例。 3、單例類必須給所有其他對象提供這一實例。 主要解決:一個全局使用的類頻繁地創建與銷毀。 何時使用:當您想控制實例數目,節省系統資源的時候。 工廠模式: 意圖:定義一個創建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創建過程延遲到子類進行。 主要解決:主要解決接口選擇的問題。 何時使用:我們明確地計劃不同條件下創建不同實例時。 如何解決:讓其子類實現工廠接口,返回的也是一個抽象的產品。 關鍵代碼:創建過程在其子類執行。查看全部
-
抽象類: PHP抽象類應用的定義: abstract class ClassName{ } 如果需要在接口中實現某方法而接口中是不能實現的,這時可以用到抽象類來實現。 抽象類中可以具體實現某方法。接口只是定義了空方法。查看全部
-
PHP抽象類應用的定義: abstract class ClassName{ } PHP抽象類應用要點: 1.定義一些方法,子類必須完全實現這個抽象中所有的方法 2.不能從抽象類創建對象,它的意義在于被擴展 3.抽象類通常具有抽象方法,方法中沒有大括號查看全部
-
接口同樣可以定義常量 使用const定義查看全部
-
接口的繼承: interface Ia { public function eat(){ } } interface Ia { public function sleep(){ } } interface AB extends Ia,Ib //接口AB繼承 接口 Ia,與接口Ib { }查看全部
-
接口可以繼承查看全部
-
面向對象接口可以和類的類型約束一樣也可以在函數的參數中限定該函數的參數是實現了該類的參數 public function factory(Person $user) //Person為 接口名 { }查看全部
-
在面向對象中使用interface 定義接口 使用 implements 來調取該接口。 調取該接口時該接口中的方法都需實現查看全部
-
接口中的方法是即接口中的方法是不作具體實現的查看全部
-
接口:可以理解為是類的模板,而類是接口的模板。查看全部
-
trait關鍵字: php是單繼承語言,但是當如果一個類要使用多個類的里的方法或者屬性, 這時可以使用trait關鍵字將原來需要繼承的類改為用trait包含屬性與方法, 同時使用use調用,trait也支持trait嵌套 語法格式: trait A{ 方法 屬性 } trait B{ 方法 屬性 } class C{ use A,B; }查看全部
-
當深拷貝對象屬性時用到__clone魔術方法查看全部
-
對象的類型的約束: 當實例化一個類時如果需要傳入某個特定的類時可以在前面加上該類名 如下圖 調用test(A $a); 此時調用test()方法時則需test(new A())傳入A對象 如類B繼承了類A則test(new B())傳入類B的實例也可以 即類型約束了父類則傳入該子類也可以 如下: <?php class A{ public function arr(){ echo 123; } } class B extends A { public function arr2() { echo 'class B'; } } function test(A $e) { $e ->arr2(); } test(new B());查看全部
-
對象的類型約束: 當定義一個函數如果要使該函數傳入的參數是某個特定的類時則此時可以在該參數前加上類名。 如下圖的 (A $a) 則調用該函數時必須傳入(new A())類A對象否則報錯查看全部
-
__clone魔術方法 對象復制 當使用clone 關鍵字的時候類內就會自動執行__clone()方法 function __clone() { // 強制復制一份this->object, 否則仍然指向同一個對象 $this->object1 = clone $this->object1; }查看全部
舉報
0/150
提交
取消