定義
是結構化程式設計(structured programming design) 的一個根本改變,相似處在於,都相信發展一個複雜系統的好方式是各個擊破法 (divide and conquer)。
物件是基本的組成單元。
每一格物件都是某一種型態(type) 或類別(class)。
類別透過繼承(inheritance) 關係與其他類別產生關連。
不使用繼承關係的程式設計就不被視為物件導向程式設計 !!!
演算法分解(algorithmic decomposition)
將軟體視為一個程序(process),並分解成好幾個模組(module),每一個模組代表程序中的一個步驟。
物件導向分解(Object - oriented decomposition)
將軟體視為一個 「定義完整」的物件(objects),該物件所描述的是一個實體(entity)。
物件互動組成一個軟體系統,主要優點是鼓勵軟體的「再使用(reuse)」,形成更富有彈性的軟體。
物件導向程式
物件是一個能夠進行運算並且擁有自己狀態(local status) 的實體(entity)
因此可以被視為是資料與程序元件(procedural elements) 的組合體。
物件導語言
- 語言支援物件技術。
- 物件必須屬於某一格類別。
- 語言必須之支援繼承技術。
只支援前兩項要求而不支援繼承技術的語言只能稱之為物件基礎(object-based)
例如: JavaScript