物件導向程式設計 (Object-oriented programming)

定義

是結構化程式設計(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