サマリー:OOP和MVC號稱零基礎學習PHP的兩大攔路虎!1、什么是OOP?OOP(object oriented programming),即面向對象編程,其中兩個最重要的概念就是類和對象。2、什么是類和對象? 世間萬物都具有自身的屬性和方法,通過這些屬性和方法可以區(qū)分出不同的物質。 屬性和方法的集合就形成了類,類是面向對象編程的核心和基礎,通過類就將零散的
OOP和MVC號稱零基礎學習PHP的兩大攔路虎!
1、什么是OOP?
OOP(object oriented programming),即面向對象編程,其中兩個最重要的概念就是類和對象。
2、什么是類和對象?
世間萬物都具有自身的屬性和方法,通過這些屬性和方法可以區(qū)分出不同的物質。
屬性和方法的集合就形成了類,類是面向對象編程的核心和基礎,通過類就將零散的用于實現(xiàn)某個功能的代碼有效地管理起來了。
類只是具備了某些功能和屬性的抽象模型,而實際應用中需要一個一個實體,也就是需要對類進行實例化,類在實例化之后就是對象。
★類是對象的抽象概念,對象是類的實例化。
對象是一個高級的數(shù)組,數(shù)組是一個最原始的對象,同樣的對象也可以遍歷!
3、OOP具有三大特點!
1)、封裝性:也稱為信息隱藏,就是將一個類的使用和實現(xiàn)分開,只保留部分接口和方法與外部聯(lián)系,或者說只公開了一些供開發(fā)人員使用的方法。于是開發(fā)人員只需要關注這個類如何使用,而不用去關心其具體的實現(xiàn)過程,這樣就能實現(xiàn)MVC分工合作,也能有效避免程序間相互依賴,實現(xiàn)代碼模塊間松藕合。
2)、繼承性:就是子類自動繼承其父級類中的屬性和方法,并可以可以添加新的屬性和方法或者對部分屬性和方法進行重寫。繼承增加了代碼的可重用性。 php只支持單繼承,也就是說一個子類只能有一個父類。
3)、多態(tài)性(PHP不明顯,可不看):子類繼承了來自父級類中的屬性和方法,并對其中部分方法進行重寫。于是多個子類中雖然都具有同一個方法,但是這些子類實例化的對象調(diào)用這些相同的方法后卻可以獲得完全不同的結果,這種技術就是多態(tài)性。多態(tài)性增強了軟件的靈活性。
4、OOP的優(yōu)點:
1、代碼重用性高(省代碼)
2、使程序的可維護性高(擴展性)
3、靈活性