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

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

為什么我似乎無法掌握接口?

為什么我似乎無法掌握接口?

為什么我似乎無法掌握接口?有人可以為我揭開界面的神秘面紗,還是給我一些好的例子?我一直在這里和那里看到界面彈出,但我還沒有真正接觸到界面的良好解釋或何時(shí)使用它們。我在談?wù)摻涌谂c抽象類的上下文中的接口。
查看完整描述

3 回答

?
LEATH

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

接口允許您針對(duì)“描述”而不是類型進(jìn)行編程,這允許您更松散地關(guān)聯(lián)軟件的元素。

可以這樣想:你想與你旁邊的立方體中的某人共享數(shù)據(jù),所以你拿出閃存棒并復(fù)制/粘貼。你走到隔壁,那家伙說“那是USB嗎?” 你說是的 - 所有的一切。它與閃光棒的大小無關(guān),也不是制造商 - 重要的是它是USB。

同樣,接口允許您實(shí)現(xiàn)開發(fā)。使用另一個(gè)類比 - 想象你想要?jiǎng)?chuàng)建一個(gè)虛擬繪制汽車的應(yīng)用程序。你可能有這樣的簽名:

public void Paint(Car car, System.Drawing.Color color)...

這可以工作,直到你的客戶說“現(xiàn)在我想畫卡車”,所以你可以這樣做:

public void Paint (Vehicle vehicle, System.Drawing.Color color)...

這會(huì)擴(kuò)大你的應(yīng)用......直到你的客戶說“現(xiàn)在我想畫房子!” 你從一開始就可以做的就是創(chuàng)建一個(gè)界面:

public interface IPaintable{
   void Paint(System.Drawing.Color color);}

......并將其傳遞給您的日常工作:

public void Paint(IPaintable item, System.Drawing.Color color){
   item.Paint(color);}

希望這是有道理的 - 這是一個(gè)非常簡單的解釋,但希望能夠觸及它的核心。


查看完整回答
反對(duì) 回復(fù) 2019-08-27
?
ABOUTYOU

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

最簡單的答案是接口定義了您的類可以執(zhí)行的操作。這是一份“合同”,表示你的班級(jí)將能夠做到這一點(diǎn)。

Public Interface IRollOver
    Sub RollOver()End InterfacePublic Class Dog Implements IRollOver
    Public Sub RollOver() Implements IRollOver.RollOver
        Console.WriteLine("Rolling Over!")
    End SubEnd ClassPublic Sub Main()
    Dim d as New Dog()
    Dim ro as IRollOver = TryCast(d, IRollOver)
    If ro isNot Nothing Then
        ro.RollOver()
    End IfEnd Sub

基本上,只要它繼續(xù)實(shí)現(xiàn)該接口,您就可以保證Dog類始終具有翻轉(zhuǎn)能力。如果貓能夠獲得RollOver()的能力,他們也可以實(shí)現(xiàn)該界面,并且當(dāng)他們要求RollOver()時(shí)你可以同時(shí)對(duì)待Dogs和Cats。


查看完整回答
反對(duì) 回復(fù) 2019-08-27
  • 3 回答
  • 0 關(guān)注
  • 419 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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