面向对象程序设计 物件導向程式設計英語Objectoriented programming缩写OOP是種具有物件概念的程式設計典範同时也是一种程式开发的抽象方针它可能包含資料特性程式碼與方法对象則指的是類別class的实例它将对象作为程序的基本单元将程序和数据封装其中以提高软件的重用性灵活性和扩展性物件裡的程序可以訪問及經常修改物件相關連的資料在物件導向程式編程裡電腦程式會被設計成彼此相關的物件 面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想这与传统的思想刚好相反传统的程序设计主张将程序看作一系列函数的集合或者直接就是一系列对电脑下达的指令面向对象程序设计中的每一个对象都应该能够接受数据处理数据并将数据传达给其它对象因此它们都可以被看作一个小型的机器即对象目前已经被证实的是面向对象程序设计推广了程序的灵活性和可维护性并且在大型项目设计中广为应用此外支持者声称面向对象程序设计要比以往的做法更加便于学习因为它能够让人们更简单地设计并维护程序使得程序更加便于分析设计理解反对者在某些领域对此予以否认 当我们提到面向对象的时候它不仅指一种程序设计方法它更多意义上是一种程序开发方式在这一方面我们必须了解更多关于面向对象系统分析和面向对象设计Object Oriented Design简称OOD方面的知识許多流行的程式語言是物件導向的它們的風格就是會透由物件來創出實例 重要的物件導向程式語言包含Common LispPythonCObjectiveCSmalltalkDelphiJavaSwiftCPerlRubyJavaScript 與 PHP等