這才是 wiki 的:
http://zh.wikipedia.org/w/index.php...1&variant=zh-tw
物件導向程式設計的雛形早在1960年的Simula語言中即可發現,當時的程式設計領域正面臨著一種危機:在軟硬體環境逐漸複雜的情況下,軟體如何得到良好的維護?物件導向程式設計在某種程度上通過強調可重複性解決了這一問題。20世紀70年代的SmallTalk語言在物件導向方面堪稱經典——以至於30年後的今天依然將這一語言視為物件導向語言的基礎。
物件導向程式設計可以被視作一種在程式中包含各種獨立而又互相調用的單位和物件的思想,這與傳統的思想剛好相反:傳統的面向過程程式設計主張將程式看作一系列函數的集合,或者直接就是一系列對電腦下達的指令。物件導向程式設計中的每一個物件都應該能夠接受數據、處理數據並將數據傳達給其它物件,因此它們都可以被看作一個小型的「機器」,或者說是負有責任的角色。
目前已經被證實的是,物件導向程式設計推廣了程式的靈活性和可維護性,並且在大型項目設計中廣為應用。此外,支持者聲稱物件導向程式設計要比以往的做法更加便於學習,因為它能夠讓人們更簡單地設計並維護程式,使得程式更加便於分析、設計、理解。反對者在某些領域對此予以否認。