第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

什么時(shí)候使用抽象類?

什么時(shí)候使用抽象類?

MMTTMM 2019-12-21 11:04:40
這是有關(guān)抽象類的MSDN文章,但我真的不明白。。。我什么時(shí)候應(yīng)該真正使用抽象類?使用抽象類的優(yōu)點(diǎn)是什么?
查看完整描述

3 回答

?
ITMISS

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊

當(dāng)您需要一個(gè)用于繼承和多態(tài)性的類時(shí),抽象類很有用,但是實(shí)例化該類本身,僅實(shí)例化其子類是沒有意義的。當(dāng)您要為一組共享一些通用實(shí)現(xiàn)代碼的子類定義模板時(shí),通常會使用它們,但同時(shí)您也要保證不能創(chuàng)建超類的對象。

例如,假設(shè)您需要創(chuàng)建“狗”,“貓”,“倉鼠”和“魚”對象。它們具有類似的屬性,例如顏色,大小和支腳數(shù)量以及行為,因此您可以創(chuàng)建Animal超類。但是,動物是什么顏色?動物物體有幾條腿?在這種情況下,實(shí)例化Animal類型的對象沒有太大意義,而僅實(shí)例化其子類。

抽象類在多態(tài)性方面還具有額外的好處-允許您將(抽象)超類的類型用作方法參數(shù)或返回類型。例如,如果您有一個(gè)帶有train()方法的PetOwner類,則可以將其定義為采用Animal類型的對象,例如train(Animal a),而不是為Animal的每個(gè)子類型創(chuàng)建一個(gè)方法。


查看完整回答
反對 回復(fù) 2019-12-21
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

通過使用抽象類,我們可以使類更通用。

例如:如果類A是一個(gè)抽象類,并且有類B,類C和類D擴(kuò)展了抽象類A,則這些子類將繼承一個(gè)已經(jīng)在抽象類A中聲明的方法,從而使該方法更加通用。


查看完整回答
反對 回復(fù) 2019-12-21
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

當(dāng)您在類層次結(jié)構(gòu)中為類定義行為時(shí),請使用抽象類,該行為永遠(yuǎn)不會直接用于實(shí)例化對象。

因此,暫時(shí)將自己視為上帝。您的CBabyBoy和CBanyGirl類不會是抽象的-因?yàn)檫@些都是可以創(chuàng)建的固體對象。另一方面,您的CPerson和CAnimal類將是抽象的-從類型層次結(jié)構(gòu)的角度來看,它們很有用,但您永遠(yuǎn)不會運(yùn)行CAnimal dingbat = new Animal();


查看完整回答
反對 回復(fù) 2019-12-21
  • 3 回答
  • 0 關(guān)注
  • 862 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號