Dart程式設計中的super關鍵字


Dart中的super**關鍵字**用於引用父類物件的屬性或方法。簡單來說,它用於引用超類的**屬性和方法**。

super關鍵字最重要的用途是消除具有相同名稱的屬性和方法的父類和子類之間的歧義。

當我們在Dart中建立一個子類的例項時,父類的例項也會隱式建立,super關鍵字能夠呼叫父物件的屬性和方法。

語法

super.varName or super.methodName

我們可以訪問父類的變數和方法。

訪問父類變數

我們可以訪問在子類中也宣告的父類變數。

示例

考慮以下示例:

線上演示

class Animal {
   int count = 30;
}

class Dog extends Animal {
   int count = 70;
   void printNumber(){
      print(super.count);
   }
}

void main(){
   Dog obj= new Dog();
   obj.printNumber();
}

在上面的例子中,我們有兩個類**Animal**和**Dog**,其中Animal是父類(或超類),Dog是子類。需要注意的是,名為count的變數在超類和子類中都被宣告,當我們使用**super.count**時,它將引用父類(超類)。

輸出

30

訪問父類方法

我們還可以訪問可能也在子類中宣告的父類方法。

示例

考慮以下示例:

線上演示

class Animal {
   void tellClassName(){
      print("Inside Animal Class");
   }
}

class Dog extends Animal {
   int count = 100;
   void tellClassName(){
      print("Inside Dog Class");
   }

   void printMessage(){
      tellClassName();
      super.tellClassName();
   }
}

void main(){
   Dog obj= new Dog();
   obj.printMessage();
}

輸出

Inside Dog Class
Inside Animal Class

更新於:2021年5月24日

572 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.