✔ 最佳答案
樓上的, 只能答對一半, 極其量, 只能當作object programming, 而不是object-oriented programming的, 以下用紅字顯示的是其必要的特性,
物件導向的程序設計(Object Oriented Programming,簡稱OOP,亦有譯為面向对象的程序設計),指一種程序設計范型,同時也是是一種程序開發的方法論。它的最大特點是能夠大幅度的提高軟體項目的成功率,減少日後的維護費用,提高軟體的可移植性和可靠性。
它的特徵主要包括以下幾個方面:
物件(object)的使用—物件的概念被廣泛的使用在從建模到構建程序的各個方面。
抽象化(generalization)—將各種獨立的操作分解成為可以用命名區分的單元。
封裝性(Encapsulation)—不同的操作具有不同的作用範圍。
多態性(Polymorphism)—對於不同數據類型的相似操作使用相同的命名。
繼承性(Inheritance)—類可以被繼承,從而實現不同層次的對象。
抽象化是物件導向的一個重要特徵但是並不是它所獨有的特徵。重用是物件導向的一個重要優點。
如符合以上的特性, 那個程式語言便可界定為oop了
就用回樓上的例子, dog是parent, 咁dog可再細分為北京犬, 松鼠狗, 金毛或唐狗等等. 裡面全都繼承dog的所有屬性及行為. 但由於子類(child class)的狗可能有個別不同的屬性或行為, 所以會再於子類再作詳細的描述. 例如金毛純, 那純的屬性便會加插在金毛裡, 而不會放在dog class.
當我們提到物件導向的時候,它不僅指一種程序設計方法。它更多意義上是一種程序開發范式。在這一方面,我們必須了解更多關於物件導向的分析(Object Oriented Analysis,簡稱OOA)和物件導向的設計(Object Oriented Design,簡稱OOD)方面的知識。
而各種程式語言中, pascal: 不算oop, 但它有一個進化版, 叫delphi, 這個便是oop. vb6 不是, 但vb.net 是oop, c++是oop, java亦都是oop.
2007-03-29 18:32:52 補充:
若想知更多關於oop, 可電郵給我大家交流一下.