面向對象


title:面向對象
tags: 基礎,Java


面向對象

面向對象程序設計簡介

面向對象的基本思想是使用類、對象、繼承、封裝、消息等基本概念來進行程序設計。它是從現實世界中客觀存在的事物(及對象)出發來構造軟件系統,并在系統構造中盡可能運用人類的自然思維方式,強調直接以現實世界中的事物(及對象)為中心來思考問題,認識問題,并根據這些事物的本質特點,把它們抽象地表示為系統中的類,作為系統的基本構成單元(而不是用一些與現實世界中的事物相關比較遠,并且沒有對應關系的其他過程來構造系統),這使得系統可以直接映射客觀世界,并保持客觀世界中事物及其相互關系的本來面貌。

從世界觀的角度可以認為:面向對象的基本哲學是認為世界是由各種各樣具有自己的運動規律和內部狀態的對象所組成的;不同對象之間的相互作用和通信構成了完整的現實世界。

從程序設計的角度來看,面向對象的程序設計語言必須有描述對象及其相互之間關系的語言成分。這些程序設計語言可以歸納為以下幾類:系統中一切皆為對象;對象是屬性及其操作的封裝體;對象可按其性質劃分為類,對象成為類的實例;實例關系和繼承關系是對象之間的靜態關系;消息傳遞是對象之間動態聯系的唯一形式;方法是消息的序列。

面向對象程序設計的主要優點是:與人類習慣的思維方法一致;穩定性好;可重用性好;易于開發大型軟件產品;可維護性好。

面向對象的基本特征

面向對象方法具有三個基本特征:封裝(Encapsulation)、繼承(Inheritance)和多態(Polymorphism),其中,繼承是面向對象實現軟件復用的重要手段,當子類繼承父類后,子類作為一種特殊的父類,將直接獲得父類的屬性和方法;封裝指的是將對象的實現細節隱藏起來,然后通過一些公用方法來暴露該對象的功能;多態指的是子類對象可以直接賦給父類變量,但運行時依然變現出子類的行為特征,這以為這同一個類型的對象在運行時可能變現出不同的行為特征。

除此之外,抽象也是面向對象的重要部分,抽象就是忽略一個主題與當前目標無關的哪些方面,以便更充分的注意與當前目標有關的方面。抽象并不打算了解全部問題,而只是考慮部分問題。

面向對象還支持如下幾個功能:

  • List item對象是面向對象方法中最基本的概念,它的基本特點有:標識唯一性、分類型、多態性、封裝性、模塊獨立性好。
  • 類是具有共同屬性、共同方法的對象的集合。類是對象的抽象;對象則是類的實例。而類是整個軟件系統最小的程序單元,類的封裝性將各種信息細節隱藏起來,并通過公用方法來暴露該類對外所提供的功能,從而提高了類的內聚性,降低了對象之間的耦合性。
  • 對象間的這種相互合作需要一個機制協作進行,這樣的機制稱為“消息”。消息是一個實例與另一個實例之間傳遞的信息。
  • 在面向對象方法中,類之間共享屬性和操作的機制稱為繼承。已有的類可當做基類來引用,則新類相應的可當做派生類來引用。繼承具有傳遞性。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容