主仆调教SM束缚绳索捆绑,成品人和精品人的区别三叶草,双性受被各种性器调教学生小说,精品一区二区三区水蜜桃

Java 中的面向對象編程:封裝、繼承、多態、抽象

在本指南中,我們將通過現實生活中的例子討論面向對象編程的四個重要特性。

面向對象的方法:介紹

Java 是一種面向對象的語言,因為它提供了實現面向對象模型的特性。這些特性包括抽象、封裝、繼承和多態。

OOPS 是關于圍繞數據(即對象)開發應用程序,允許對象以自己的方式訪問它們的屬性和可能的操作。

抽象

OOPs 最基本的概念之一是 抽象。抽象是一個過程,在這個過程中你只展示“相關”的數據,并“隱藏”對象不必要的細節。例如,當你登錄亞馬遜賬戶時,你輸入你的用戶名和密碼并按下登錄按鈕,按下登錄按鈕后發生了什么,輸入的數據是如何發送到亞馬遜服務器的,如何驗證的,所有這些都對用戶隱藏。

另一個抽象的例子:汽車本身是一個定義明確的對象,它由幾個較小的對象組成,例如變速系統、轉向機制、發動機等,這些較小的對象又有自己的子系統。但是對于人類來說,汽車是一個完整的對象,可以通過其子系統來管理,即使它們的內部細節是未知的。

封裝

封裝 是將數據與操縱它的代碼綁定在一起。它使數據和代碼免受外部干擾。

讓我們來看一個汽車的動力轉向系統的例子。汽車的動力轉向是一個復雜的系統,內部有許多緊密耦合在一起的組件,它們同步工作以將汽車轉向期望的方向。它甚至控制發動機傳遞到方向盤的動力。但是對外部世界來說,只有一個接口是可用的,其余的復雜性被隱藏。此外,轉向單元本身是完整且獨立的。它不會影響任何其他機制的運行。

類似地,封裝的相同概念也可以應用于代碼。封裝的代碼應該具有以下特點:

  • 每個人都知道如何訪問它。
  • 無論實現細節如何,都可以輕松使用。
  • 代碼不應對應用程序的其余部分產生任何副作用。

封裝的理念是保持類分離,并防止它們之間緊密耦合。

Java 中的 java.util.Hashtable 類是封裝的一個例子。用戶只知道他可以將數據以鍵/值對的形式存儲在 Hashtable 中,并且可以通過多種方式檢索這些數據。但實際的實現,例如這些數據是如何存儲的以及存儲在哪里,對用戶來說是隱藏的。用戶可以在任何需要存儲鍵/值對的地方簡單地使用 Hashtable,而不必關心其實現。

繼承

繼承 是一種機制,通過它一個對象獲得另一個對象的部分/全部屬性。它支持層次分類的概念。

例如:汽車是一種四輪車,所以假設我們有一個 FourWheeler 類及其子類 Car。這里,汽車獲得了 FourWheeler 類的屬性。其他分類可以是吉普車、卡車、面包車等。FourWheeler 定義了一類具有四個輪子的車輛,并具有特定范圍的發動機功率、載重能力等。Car(稱為子類)繼承了 FourWheeler 的這些屬性,并且還有一些與其他四輪車不同的特定屬性,例如豪華性、舒適性、形狀、大小、用途等。

汽車還可以有進一步的分類,如敞篷車、小汽車、大汽車等,它們將繼承 FourWheelerCar 的屬性,但仍會有一些特定屬性。通過這種方式,層次結構可以擴展到任何級別。

Java 中的 SwingAwt 類是繼承的最佳示例。

多態

多態 意味著根據對象的數據類型不同地處理對象。換句話說,它意味著一個方法有多個實現,具體使用哪種實現取決于運行時的情況(即對象的數據類型)。

這可以通過設計一個通用接口來實現,該接口為一類操作提供通用方法,并且可以有多個類提供這些通用方法的實現。

讓我們繼續使用汽車的例子。汽車有一個變速傳動系統。它有四個前進檔和一個倒檔。當發動機加速時,取決于接合的是哪個檔位,不同的動力和運動會傳遞到汽車。操作相同,都是換擋,但根據檔位的不同,操作表現不同,或者你可以說它顯示了多種形式(多態意味著多種形式)。

多態可以是靜態的也可以是動態的。方法重載 是靜態多態性,而 方法重寫 是動態多態性。

  • 重載 簡單來說是指具有相同方法名但根據傳遞的參數不同而表現不同的方法。這被稱為靜態多態性,因為決定調用哪個方法是在編譯時完成的。
  • 重寫 意味著派生類實現了其超類的方法。對重寫方法的調用在運行時解析,因此稱為運行時多態性。

 

 

若你想提升Java技能,可關注我們的Java培訓課程。

  1. 主站蜘蛛池模板: 临沧市| 青冈县| 商丘市| 巴林右旗| 林周县| 双辽市| 栾川县| 鄂托克前旗| 潞西市| 河池市| 吴川市| 松滋市| 临沭县| 太原市| 怀来县| 哈尔滨市| 常德市| 商水县| 莱西市| 阳江市| 潮州市| 洞头县| 延寿县| 宣化县| 边坝县| 桑日县| 湖南省| 息烽县| 揭东县| 顺义区| 宁乡县| 阿拉善右旗| 万年县| 仲巴县| 尚志市| 泰顺县| 利辛县| 同江市| 河间市| 方山县| 奉新县|