今天我們學習了php物件導向,它和面向過程一樣都是一種程式設計思想。但不同的是面向過程著重於做什麼;物件導向著重於誰去做 封裝
把客觀事物封裝成乙個類,通過修飾符改變屬性或函式的訪問許可權達到保護作用
繼承子類繼承父類,可以使用父類的公共屬性和方法,可以實現介面,同時實現介面裡的所有方法
多型覆蓋和過載,子類繼承父類,子類可以覆蓋父類中的方法。乙個類中可以同時擁有同乙個函式名的方法,但是方法的引數不同,實現結果也不同。
物件導向的幾個名詞:類、物件、屬性、方法、例項化。
物件導向優點:
①開發快,發布快(開發效率)
②盡可能快地執行(執行效率)
③易於維護,改進和擴充套件(維護效率)
物件導向缺點:程式設計複雜度高,效能比面向過程低(需要例項化類)
下面舉乙個例子
用class 宣告乙個類,在類裡面只能有 成員屬性 和 成員方法!!!!不能有其他,在乙個指令碼中不能有兩個同名類,例項化類可以有多個物件
class computer
}$computer = new computer();
$computer->output();//外部訪問方法
$computer->text();//外部訪問屬性
$computer2 = new computer();//可以例項化多個
訪問控制:
public 公有 都可以訪問
private 私有 只有類本身內部可以訪問
protected 受保護 繼承的子類和類本身內部可以訪問,外部訪問不了,如: $computer->output();如果output()方法設了protected,則報錯。
類裡面的方法:
方法裡面呼叫乙個屬性,需要例項化類才能訪問屬性,而$this可以理解為是這個類的乙個例項。
class computer
}
構造方法可以傳遞引數,在例項化時傳入
通過建構函式的引數傳遞,改變裡面的屬性使得每個例項物件不同
例子:
class computer }
$conputer = new computer("我是構方法的引數");
程式結束後自動執行,手動釋放(當物件的引用全部銷毀時)會使析構函式提前執行,不用等到程式結束後才呼叫 PHP物件導向總結
理論 物件導向 認識或認知事物的一種方式 模擬 物件是類進行例項化後的結果 object 物質 物體 例項化物件 給當前new的類分配乙個記憶體空間,並將當前類的屬性和行為放置在記憶體空間裡 類 屬性 行為 預設情況下的是缺少了該屬性或行為,則類別無法確定 擴充套件的附加行為 介面 特點 三大特徵 ...
幾個PHP物件導向小例項
抽象類 抽象類不能被例項化,抽象類與其它類一樣,允許定義變數及方法,抽象類同樣可以定義乙個抽象的方法,抽象類的方法不會被執行,不過將有可能會在其派生類中執行。例1 抽象類 call php5 的物件新增了乙個專用方法 call 這個方法用來監視乙個物件中的其它方法。如果你試著呼叫乙個物件中不存在的方...
PHP物件導向繼承 多型總結
繼承 1.使用extends來實現繼承。2.為什麼要使用繼承?繼承讓我們擺脫重複的 讓我們的功能得以擴充套件。class car public function stop class truck extends car 在上面的 中,car是父類 基類 truck是子類 派生類 3.繼承 構造方法 ...