Dart 编程中的超级关键字
dart中的super关键字 用于引用父类对象的方法或变量。简单来说,就是用来指代超类的属性和方法。
super关键字最重要的用途是消除具有相同名称的方法和变量的超类和子类之间的歧义。
super关键字能够调用父对象的方法和字段,因为当我们在Dart中创建子类的实例时,也会隐式创建父类的实例。
语法
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时,它会引用父类(superclass)。
输出
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