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

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

抽象類和接口?

抽象類和接口?

翻閱古今 2019-03-12 17:15:01
請(qǐng)問(wèn)在什么情況下,將對(duì)象抽象為一個(gè)抽象類?在什么情況下,該將對(duì)象抽象為一個(gè)接口?我知道他們兩個(gè)的區(qū)別,就是想知道在什么場(chǎng)景下該抽象為哪種?
查看完整描述

9 回答

?
慕婉清6462132

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

比如說(shuō)生物和人 此時(shí)生物可以當(dāng)做接口,人當(dāng)做實(shí)現(xiàn)生物的抽象類,男人女人作為具體實(shí)現(xiàn)類,為什么可以這樣設(shè)計(jì)?因?yàn)樯锸莻€(gè)非常非常抽象的概念,你很難抽象出它的具體行為(也就是具體的方法實(shí)現(xiàn)),此時(shí)可以當(dāng)做接口,人為何可以作為抽象類,因?yàn)樗梢杂芯唧w的行為動(dòng)作實(shí)現(xiàn),比如,摸爬滾走,但是可能男人女人的性征不一樣,同時(shí)可能還有一些公有的行為 但是行為特征不一樣 這可以當(dāng)做抽象類的抽象方法,讓子類實(shí)現(xiàn)。大概是這樣。


查看完整回答
反對(duì) 回復(fù) 2019-04-25
?
哆啦的時(shí)光機(jī)

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

接口表示一個(gè)能力/行為。例如:人會(huì)跑,狗也會(huì)跑,就可以定義接口IRunable。 使用接口很好實(shí)現(xiàn)組件間解耦。
抽象類就是為了實(shí)現(xiàn)多態(tài),使代碼更方便擴(kuò)展。

查看完整回答
反對(duì) 回復(fù) 2019-04-25
?
慕雪6442864

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

接口就好像是100% 純天然的抽象類。


查看完整回答
反對(duì) 回復(fù) 2019-04-25
?
慕的地6264312

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

接口的話更偏向于為一群類定一個(gè)協(xié)議, 而抽象類的話已經(jīng)向?qū)崿F(xiàn)邁進(jìn)了一步。

例如模板方法模式中就用到了抽象類,實(shí)現(xiàn)了一些通用的方法, 而將不同的方法延遲到子類再實(shí)現(xiàn)。


查看完整回答
反對(duì) 回復(fù) 2019-04-25
?
婷婷同學(xué)_

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

舉個(gè)簡(jiǎn)單的例子,你現(xiàn)在想要抽象所有國(guó)家的人,那么你會(huì)想到抽象成一個(gè)接口,然后有個(gè)方法叫sayHello:


public interface Human{

    

    String sayHello();

}

OK,現(xiàn)在每個(gè)實(shí)現(xiàn)了這個(gè)接口的對(duì)象只要實(shí)現(xiàn)sayHello方法,就表示了各個(gè)國(guó)家的人,他們擁有了不同的打招呼的的方式。


但是現(xiàn)在業(yè)務(wù)復(fù)雜起來(lái)了,你需要這些人還具備一些通用的能力,比如cry,walk,那么這個(gè)時(shí)候,你是不是應(yīng)該考慮把Human抽象成為一個(gè)抽象類,像這樣:


public abstract class Human{

    

    public abstract String sayHello();

    

    public String cry(){

        System.out.println("wu~wu~wu~wu~wu~");

    }

    

    public String walk(){

        System.out.println("左右左 左右左");

    }

}

總結(jié)一下,就是如果只有抽象的方法,那么就用接口,如果還有通用的具體方法實(shí)現(xiàn),則用抽象類


查看完整回答
反對(duì) 回復(fù) 2019-04-25
?
波斯汪

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

參考:
The Java? Tutorials :: Learngin The Java Language :: Interfaces and Inheritances :: Inheritances :: Abstract Methods and Classes :: Abstract Classes Compared to Interfaces

查看完整回答
反對(duì) 回復(fù) 2019-04-25
?
月關(guān)寶盒

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

抽象類用于抽象事物,接口抽象行為


查看完整回答
反對(duì) 回復(fù) 2019-04-25
?
料青山看我應(yīng)如是

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

該類定義統(tǒng)一操作,為對(duì)象提供方法


查看完整回答
反對(duì) 回復(fù) 2019-04-25
  • 9 回答
  • 0 關(guān)注
  • 484 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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