Java基礎:Java面向對象的特徵

面向對象的三個基本特徵是:封裝、繼承、多態。

封裝

封裝最好理解了。封裝是面向對象的特徵之一,是對象和類概念的主要特性。

封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。

封裝的優點

  • 將變化隔離
  • 便於使用
  • 提高重用性
  • 提高安全性

封裝的缺點:

將變量等使用private修飾,或者封裝進方法內,使其不能直接被訪問,增加了訪問步驟與難度!

封裝的實現形式

  • A、使用訪問權限修飾符private 在定義JavaBean時對於成員變量使用private進行修飾,同時對外提供set、get方法 使用了private修飾的成員在其他類中不能直接訪問,此時需要使用set、get方法進行。
  • B、定義一個Java類與Java的方法就是最簡單最常見的面向對象的封裝操作,這些操作符合隱藏實現細節,提供訪問方式的思路。

繼承

面向對象編程 (OOP) 語言的一個主要功能就是“繼承”。繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴展。

通過繼承創建的新類稱為“子類”或“派生類”。

被繼承的類稱為“基類”、“父類”或“超類”。

繼承的過程,就是從一般到特殊的過程。

要實現繼承,可以通過“繼承”(Inheritance)和“組合”(Composition)來實現。

在Java語言中,一個類只能單繼承,可以實現多個接口。繼承就是子類繼承父類的特徵和行為,使得子類對象具有父類的非private屬性和方法。

類的繼承格式:

通過extends關鍵字申明一個類繼承另一個類,如

class父類{}

class子類extends父類{}

為什麼需要繼承?

  • 減少代碼重複、臃腫,提高代碼可維護性。

繼承的特性:

  • 子類擁有父類非private的屬性和方法;
  • 子類可以擁有完全屬於自己的屬性和方法(對父類擴展);
  • Java是單繼承(每個子類只能繼承一個父類);但是Java可以是多重繼承(如A繼承B,B繼承C)。

Super和this關鍵字:

Super關鍵字:我們可以通過super關鍵字來實現子類對父類成員的訪問,引用當前實例對象的父類。

This關鍵字:指向實例對象自己的引用。

多態

多態就是同一個接口,使用不同的實現,而執行不同的操作。

多態的三個必要條件:

  • 繼承(extends)
  • 重寫(子類重寫父類的同名方法)
  • 父類引用指向子類的對象,如:

子類繼承父類,重寫父類的方法,當子類對象調用重寫的方法時,調用的是子類的方法,而不是父類的方法,當想要調用父類中被重寫的方法時,則需使用關鍵字super。


分享到:


相關文章: