国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

面向對象三大特征--封裝、繼承與多態

2019-11-08 02:07:04
字體:
來源:轉載
供稿:網友

面向對象的程序設計有三大特征:封裝、繼承、多態

1、封裝性

封裝性有兩重含義,一是指把對象的屬性和行為看成一個密不可分的整體,將這兩者“封裝”到一個不可分割的對象中;二是指對信息的隱蔽,盡可能隱蔽對象的功能實現細節。 封裝機制的另一個特點就是為封裝在一個整體內的變量及方法規定不同等級的“可見性”或訪問權限。

封裝的好處: 1)良好的封裝能夠減少耦合 2)類內部的結構可以自由修改。 3)可以對成員進行更精確的控制。 4)隱藏信息,實現細節。

2、繼承性

繼承是為了重用父類代碼。兩個類若存在is-a 的關系就可以使用繼承. 復用代碼java 眾多引人注目的功能之一,注意,這里是“復用代碼”而非“復制代碼”

1、子類擁有父類非 PRivate 的屬性和方法。(但繼承不了構造器,只能通過super()調用構造器) 2、子類可以擁有自己屬性和方法,即子類可以對父類進行擴展。 3、子類可以用自己的方式實現父類的方法。(以后介紹)。

繼承的好處: 1)增強了代碼的可復用性 2)提高了軟件開發的效率 3)降低了程序產生錯誤的可能性 4)為程序的修改提供了便利

繼承的缺陷: 1)父類變,子類就必須變。 2)繼承破壞了封裝,對于父類而言,它的實現細節對與子類來說都是透明的。 3)繼承是一種強耦合關系。 注:java語言不支持多繼承,但可以通過接口(interface)的方式來彌補由于java不支持多繼承而帶來的子類不能享用多個父類的成員的缺點。

3、多態性

多態是以封裝和繼承為基礎,在抽象的層面上實施一個統一的行為,相同的事物,調用其相同的方法,參數也相同時,但表現的行為卻不同。

Java 實現多態有三個必要條件: 1)存在繼承關系 2)子類重寫父類的方法。子類重寫了父類的方法,調用父類的方法,實際調用的是子類重寫了的父類的該方法。即Father f = new Children(),f.toString()實際上調用的是Children中的toString()方法。 3)父類引用指向子類對象

多態的分類: 1)編譯時多態,即方法的重載,從JVM的角度來講,這是一種靜態分派(static dispatch) 2)運行時多態,即方法的重寫,從JVM的角度來講,這是一種動態分派(dynamic dispatch)

多態的原則: 比如我們有一個父類Father,有一個子類Children 1、向上轉型是自動的。即Father f = new Children()是自動的,不需要強轉 2、向下轉型要強轉。即Children c = new Father()是無法編譯通過的,必須要Children c = (Children)new Father(),讓父類知道它要轉成具體哪個子類。

一個多態的經典實例:多態示例


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 峡江县| 全椒县| 涞源县| 阜平县| 岳池县| 汾西县| 韶山市| 庄河市| 平乡县| 高邑县| 精河县| 景洪市| 上蔡县| 琼海市| 金阳县| 潢川县| 夏津县| 石柱| 桂平市| 正镶白旗| 从江县| 仪征市| 固始县| 出国| 镶黄旗| 平湖市| 扬中市| 临夏市| 枣强县| 庆阳市| 宜宾县| 甘洛县| 乌拉特中旗| 南华县| 正宁县| 武山县| 岑溪市| 定州市| 临泉县| 邵武市| 三穗县|