1. 程式人生 > >面向對象主要有四大特性

面向對象主要有四大特性

java get方法 一個 應用 通過 帶來 主題 特征 屬性

  • 抽象
    • 忽略一個主題中與當前目標無關的東西,專註的註意與當前目標有關的方面.(就是把現實世界中的某一類東西,提取出來,用程序代碼表示,抽象出來的一般叫做類或者接口).抽象並不打算了解全部問題,而是選擇其中的一部分,暫時不用部分細節.抽象包括兩個方面,一個數據抽象,而是過程抽象.
      • 數據抽象 -->表示世界中一類事物的特征,就是對象的屬性.比如鳥有翅膀,羽毛等(類的屬性)
      • 過程抽象 -->表示世界中一類事物的行為,就是對象的行為.比如鳥會飛,會叫(類的方法)
  • 封裝
    • 封裝就是把過程和數據包圍起來,對數據的訪問只能通過特定的界面.如私有變量,用set,get方法獲取
  • 繼承
    • 一種聯結類的層次模型,並且允許和鼓勵類的重用,提供一種明確表達共性的方法.對象的一個新類可以從現有的類中派生,這個過程稱為類繼承.新類繼承了原始類的特性,新類稱為原始類的派生類(子類),原始類稱為新類的基類(父類).派生類可以從它的父類哪裏繼承方法和實例變量,並且類可以修改或增加新的方法使之更適合特殊的需要.因此可以說,繼承為了重用父類代碼,同時為實現多態性作準備.
  • 多態
    • 多態是指允許不同類的對象對同一消息做出響應.多態性包括參數化多態性和包含多態性.多態性語言具有靈活/抽象/行為共享/代碼共享的優勢,很好的解決了應用程序函數同名問題.總的來說,方法的重寫,重載與動態鏈接構成多態性.java引入多態的概念原因之一就是彌補類的單繼承帶來的功能不足.
      • 動態鏈接 -->對於父類中定義的方法,如果子類中重寫了該方法,那麽父類類型的引用將調用子類中的這個方法,這就是動態鏈接.

註意繼承與重載:子類與父類的關系,重載方法的調用問題

  子類對象可以直接當成父類對象用,但是反過來就不行.比如:人是父類,學生是人的子類,所以學生對象一定具備人對象的屬性,但是人對象就未必具有學生對象的特性.但是子類對象當做父類來用,將失去子類所有特性,只保留與父類同名的屬性和方法,此時可以對父類方法進行重寫.

  一個類中如果定義了重載的方法,則系統在調用方法時,會根據參數的類型自動選擇調用合適的方法

面向對象主要有四大特性