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

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

接口和抽象類有什么區(qū)別?

接口和抽象類有什么區(qū)別?

接口和抽象類有什么區(qū)別?接口和抽象類有什么區(qū)別?
查看完整描述

3 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

接口

接口是合同:寫界面的人說,“嘿,我接受這樣的事情,使用接口的人說“好吧,我寫的這門課看起來是這樣的".

接口是一個空的外殼。..只有方法的簽名,這意味著方法沒有主體。接口什么也做不了。只是一種模式。

例如(偽代碼):

// I say all motor vehicles should look like this:interface MotorVehicle{
    void run();

    int getFuel();}// My team mate complies and writes vehicle looking that wayclass Car implements MotorVehicle{

    int fuel;

    void run()
    {
        print("Wrroooooooom");
    }


    int getFuel()
    {
        return this.fuel;
    }}

實現(xiàn)一個接口只消耗很少的CPU,因為它不是一個類,只是一堆名稱,因此沒有任何昂貴的查找。當它很重要的時候,它是很棒的,比如在嵌入式設備中。


抽象類

與接口不同,抽象類是類。它們的使用成本更高,因為當您繼承它們時,需要進行查找。

抽象類看起來很像接口,但是它們有更多的東西:您可以為它們定義一個行為。更多的是一個人說,“這些類應該是那樣的,他們有共同點,所以填空!”

例如:

// I say all motor vehicles should look like this:abstract class MotorVehicle{

    int fuel;

    // They ALL have fuel, so lets implement this for everybody.
    int getFuel()
    {
         return this.fuel;
    }

    // That can be very different, force them to provide their
    // own implementation.
    abstract void run();}// My teammate complies and writes vehicle looking that wayclass Car extends MotorVehicle{
    void run()
    {
        print("Wrroooooooom");
    }}

實施

雖然抽象類和接口應該是不同的概念,但實現(xiàn)有時會使該語句不正確。有時,他們甚至不是你所認為的那樣。

在Java中,這個規(guī)則是強有力的,而在PHP中,接口是抽象類,沒有聲明任何方法。

在Python中,抽象類更像是從ABC模塊中獲得的編程技巧,實際上使用的是元類,因此也是類。在這種語言中,接口與鴨子類型更相關,它是調用描述符的約定和特殊方法(_Method_Method)之間的混合體。

與編程一樣,在另一種語言中也有理論、實踐和實踐:-)


查看完整回答
反對 回復 2019-06-04
?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

之間的關鍵技術差異抽象類和一個界面是:

  • 抽象類常量、成員、方法存根(沒有主體的方法)和定義的方法,而接口只能有常數(shù)方法存根.

  • 方法和抽象類的成員可以用任何能見度,而接口的所有方法必須定義為public(默認情況下,它們是公共的)。

  • 繼承抽象類時,混凝土兒童班必須定義抽象方法雖然抽象類可以擴展另一個抽象類,但是不需要定義父類中的抽象方法。

  • 類似地,擴展另一個接口的接口是不負責實施方法從父接口。這是因為接口不能定義任何實現(xiàn)。

  • 子類只能擴展單個類(抽象或具體),而接口可以擴展,類可以擴展實現(xiàn)多個其他接口.

  • 子類可以使用相同或限制較少的能見度,而實現(xiàn)接口的類必須以完全相同的可見性(Public)定義方法。


查看完整回答
反對 回復 2019-06-04
  • 3 回答
  • 0 關注
  • 1259 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號