1. 程式人生 > >Java基礎摘要(一)

Java基礎摘要(一)

引用 rom col 精確 發送 邏輯 內部數據 保留 實例

三大特性

封裝

  所謂封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。封裝是面向對象的特征之一,是對象和類概念的主要特性。簡單的說,一個類就是一個封裝了數據以及操作這些數據的代碼的邏輯實體。在一個對象內部,某些代碼或某些數據可以是私有的,不能被外界訪問。通過這種方式,對象對內部數據提供了不同級別的保護,以防止程序中無關的部分意外的改變或錯誤的使用了對象的私有部分。

封裝從字面上來理解就是包裝的意思,專業點就是信息隱藏,是指利用抽象數據類型將數據和基於數據的操作封裝在一起,使其構成一個不可分割的獨立實體,數據被保護在抽象數據類型的內部,盡可能地隱藏內部的細節,只保留一些對外接口使之與外部發生聯系。系統的其他對象只能通過包裹在數據外面的已經授權的操作來與這個封裝的對象進行交流和交互。也就是說用戶是無需知道對象內部的細節(當然也無從知道),但可以通過該對象對外的提供的接口來訪問該對象。

對於封裝而言,一個對象它所封裝的是自己的屬性和方法,所以它是不需要依賴其他對象就可以完成自己的操作。

使用封裝有三大好處:

1、良好的封裝能夠減少耦合。

2、類內部的結構可以自由修改。

3、可以對成員進行更精確的控制。

4、隱藏信息,實現細節。

繼承

  繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴展。通過繼承創建的新類稱為“子類”或“派生類”,被繼承的類稱為“基類”、“父類”或“超類”。繼承的過程,就是從一般到特殊的過程。要實現繼承,可以通過“繼承”(Inheritance)和“組合”(Composition)來實現。繼承概念的實現方式有二類:實現繼承與接口繼承。實現繼承是指直接使用基類的屬性和方法而無需額外編碼的能力;接口繼承是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力;

  繼承定義了類如何相互關聯,共享特性。對於若幹個相同或者相識的類,我們可以抽象出他們共有的行為或者屬相並將其定義成一個父類或者超類,然後用這些類繼承該父類,他們不僅可以擁有父類的屬性、方法還可以定義自己獨有的屬性或者方法。

同時在使用繼承時需要記住三句話:

1、子類擁有父類非private的屬性和方法。

2、子類可以擁有自己屬性和方法,即子類可以對父類進行擴展。

3、子類可以用自己的方式實現父類的方法。

多態

  所謂多態就是指一個類實例的相同方法在不同情形有不同表現形式。多態機制使具有不同內部結構的對象可以共享相同的外部接口。

這意味著,雖然針對不同對象的具體操作不同,但通過一個公共的類,它們(那些操作)可以通過相同的方式予以調用。

最常見的多態就是將子類傳入父類參數中,運行時調用父類方法時通過傳入的子類決定具體的內部結構或行為。

  在剛剛開始就提到了繼承在為多態的實現做了準備。子類Child繼承父類Father,我們可以編寫一個指向子類的父類類型引用,該引用既可以處理父類Father對象,也可以處理子類Child對象,當相同的消息發送給子類或者父類對象時,該對象就會根據自己所屬的引用而執行不同的行為,這就是多態。即多態性就是相同的消息使得不同的類做出不同的響應。

Java實現多態有三個必要條件:繼承、重寫、向上轉型。

繼承:在多態中必須存在有繼承關系的子類和父類。

重寫:子類對父類中某些方法進行重新定義,在調用這些方法時就會調用子類的方法。

向上轉型:在多態中需要將子類的引用賦給父類對象,只有這樣該引用才能夠具備技能調用父類的方法和子類的方法。


Java基礎摘要(一)