java物件導向(三)理論

來源:互聯網
上載者:User

標籤:編譯   操作   部分   物件導向   破壞   aml   eth   特性   多態   

物件導向的基本特性

封裝

  封裝性就是儘可能的隱藏對象內部細節,對外形成一道邊界,只保留有限的介面和方法與外界進行互動。封裝的原則是使對象以外的部分不能隨意的訪問和操作對象的內部屬性,從而避免了外界對對象內部屬性的破壞。可以通過對類的成員設定一定的存取權限,實作類別中成員的資訊隱藏。

private:類中限定為private的成員,只能被這個類本身訪問。如果一個類的構造方法聲明為private,則其它類不能產生該類的一個執行個體。

default:類中不加任何存取權限限定的成員屬於預設的(default)訪問狀態,可以被這個類本身和同一個包中的類所訪問。

protected:類中限定為protected的成員,可以被這個類本身、它的子類(包括同一個包中以及不同包中的子類)和同一個包中的所有其他的類訪問。

public:類中限定為public的成員,可以被所有的類訪問。

繼承

  子類的對象擁有父類的全部屬性與方法,稱作子類對父類的繼承。

Java中父類可以擁有多個子類,但是子類只能繼承一個父類,稱為單繼承。

繼承實現了代碼的複用。

Java中所有的類都是通過直接或間接地繼承java.lang.Object類得到的。

子類不能繼承父類中存取權限為private的成員變數和方法。

子類可以重寫父類的方法,即命名與父類同名的成員變數。

Java中通過super來實現對父類成員的訪問,super用來引用當前對象的父類。super 的使用有三種情況:

訪問父類被隱藏的成員變數,如:super.variable;

調用父類中被重寫的方法,如:super.Method([paramlist]),super()調用父類構造方法;

調用父類的建構函式,如:super([paramlist]);

多態

  對象的多態性是指在父類中定義的屬性或方法被子類繼承之後,可以具有不同的資料類型或表現出不同的行為。這使得同一個屬性或方法在父類及其各個子類中具有不同的語義。例如:"幾何圖形"的"繪圖"方法,"橢圓"和"多邊形"都是"幾何圖"的子類,其"繪圖"方法功能不同。

Java的多態性體現在兩個方面:由方法重載實現的靜態多態性(編譯時間多態)和方法重寫實現的動態多態性(運行時多態)。

編譯時間多態:在編譯階段,具體調用哪個被重載的方法,編譯器會根據參數的不同來靜態確定調用相應的方法。

運行時多態:由於子類繼承了父類所有的屬性(私人的除外),所以子類對象可以作為父類對象使用。程式中凡是使用父類對象的地方,都可以用子類對象來代替。一個對象可以通過引用子類的執行個體來調用子類的方法。

 

java物件導向(三)理論

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.