510
傳統程序導向
資料是靜態的,程序跟資料分開,主要思考是以function為主要思考模式,我給定資料、寫好方法,程式會返回另一筆靜態資料。我在將資料放到下一個function。
優點是直觀、易於開發。缺點是,完全不能重複使用,也不太能擴增,要新的功能或者是要別的已開發好的程式的功能都無法,都得重新設計,這也導致維護很困難,也許寫新的都會比較快。
物件導向程式設計(Object-oriented programming,簡稱OOP)
這裡小提一下什麼是物件導向,是以物件為主要概念的開發模式,相較於傳統程序導向提高了重複使用性、擴充與維護性。
在物件導向中導入了物件的概念,而這個物件並非只是靜態資料,他能參有自己的屬性以及方法。
那物件怎麼創造呢?就是用一個抽象的方法 class ,他像一張產品設計圖,我在設計圖內寫下了它的設計方法,裏面包含了我設計的產品有什麼基本的零件與功能、以及使用者能夠如何使用或者擴增產品的功能。我並不是真的製作了一個產品,而是做出了一張設計圖給大家使用,大家能參照設計圖設計出自己獨立的物件。
而相較於傳統程序導向的缺點
- 物件設計較不直觀
- 程式執行速度相對也較慢
物件導向的三大特點 : 繼承、封裝、多型
物件導向的三大特點 : 繼承、封裝、多型
特性一. 繼承 (inheritance)
有許多的功能其實早就已經寫好,物件導向的程式設計能夠將別的已經寫好的屬性與方法繼承自己開發中的類別裡,不用再重複撰寫那些已有的功能。
特性二. 封裝 (encapsulation)
我們建立好class後,以後的使用者只須如何使用即可,不需了解整個物件製造的架構或設計過程。
特性三. 多型 (polymorphism)
不同的類別裡,能擁有同樣名字的函式。
所以做出來的物件呼叫相同名字函式時,會回溯到各自類別的函式名稱,而有不一樣的結果。
