java的繼承和多態(tài)是java語言面向?qū)ο缶幊痰囊淮筇厣?。也是java中重要知識(shí)點(diǎn),在實(shí)際工作中,我們也經(jīng)常跟java繼承和多態(tài)打交道,那java中繼承和多態(tài)的好處是什么?下面來我們就來給大家講解一下。
1.繼承
子類繼承父類的特征和行為,使得子類具有父類的各種屬性和方法。或子類從父類繼承方法,使得子類具有父類相同的行為。
特點(diǎn):在繼承關(guān)系中,父類更通用、子類更具體。父類具有更一般的特征和行為,而子類除了具有父類的特征和行為,還具有一些自己特殊的特征和行為。
在繼承關(guān)系中。父類和子類需要滿足is-a的關(guān)系。子類是父類。
表示父類和子類的術(shù)語:父類和子類、超類和子類、基類和派生類,他們表示的是同一個(gè)意思。
好處:
(1)子類能自動(dòng)繼承父類的對(duì)象;
(2)創(chuàng)建子類的對(duì)象時(shí),無須創(chuàng)建父類的對(duì)象;
2.多態(tài)
多態(tài)的特征是表現(xiàn)出多種形態(tài),具有多種實(shí)現(xiàn)方式?;蛘叨鄳B(tài)是具有表現(xiàn)多種形態(tài)的能力的特征?;蛘咄粋€(gè)實(shí)現(xiàn)接口,使用不同的實(shí)例而執(zhí)行不同的操作。
多態(tài)的好處:
(1)可替換性(substitutability)。多態(tài)對(duì)已存在代碼具有可替換性。例如,多態(tài)對(duì)圓Circle類工作,對(duì)其他 任何圓形幾何體,如圓環(huán),也同樣工作。
(2)可擴(kuò)充性(extensibility)。多態(tài)對(duì)代碼具有可擴(kuò)充性。增加新的子類不影響已存在類的多態(tài)性、繼承性,以及其他特性的運(yùn)行和操作。實(shí)際上新加子類更容易獲得多態(tài)功能。例如,在實(shí)現(xiàn)了圓錐、半圓錐以及半球體的多態(tài)基礎(chǔ)上,很容易增添球體類的多態(tài)性。
(3)接口性(interface-ability)。多態(tài)是超類通過方法簽名,向子類提供了一個(gè)共同接口,由子類來完善或者覆蓋它而實(shí)現(xiàn)的。如圖8.3 所示。圖中超類Shape規(guī)定了兩個(gè)實(shí)現(xiàn)多態(tài)的接口方法,computeArea()以及computeVolume()。子類,如Circle和Sphere為了實(shí)現(xiàn)多態(tài),完善或者覆蓋這兩個(gè)接口方法。
(4)靈活性(flexibility)。它在應(yīng)用中體現(xiàn)了靈活多樣的操作,提高了使用效率。
(5)簡化性(simplicity)。多態(tài)簡化對(duì)應(yīng)用軟件的代碼編寫和修改過程,尤其在處理大量對(duì)象的運(yùn)算和操作時(shí),這個(gè)特點(diǎn)尤為突出和重要。
總之就是繼承可以減少程序員的工作量,規(guī)范語言的關(guān)聯(lián)結(jié)構(gòu)層次,使得代碼更加整齊,層次更加分明,而多態(tài)就可以很好的解決程序函數(shù)同名的問題,可以增強(qiáng)程序的可擴(kuò)展性及可維護(hù)性,使代碼更加簡潔。最后大家如果想要了解更多java初識(shí)知識(shí),敬請(qǐng)關(guān)注賦能網(wǎng)。
本文鏈接:
本文章“java中繼承和多態(tài)的好處是什么?詳細(xì)分析”已幫助 69 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579