Dart super 关键字17 Mar 2025 | 4 分钟阅读 super 关键字用于表示当前子类的父类对象。它用于在子类中调用超类方法,超类构造函数。 super 关键字的主要目的是消除父类和子类中使用相同方法名时的混淆。 它还用于引用超类的属性和方法。 static 关键字的用法
将 super 关键字与变量一起使用当子类具有与超类变量同名的变量时,就会出现这种情况。 因此,Dart 编译器有歧义的可能性。然后 super 关键字可以在其子类中访问超类变量。语法如下所示。 语法 我们可以通过以下示例更好地理解。 示例 - 输出 The speed of car: 180 说明 在上面的代码中,我们将超类定义为 Car, 它有一个 speed 变量,然后由子类 Bike 继承。 子类也有变量 speed,因此我们使用 super 关键字来访问父类变量。 我们创建了子类 b 的对象,并调用了一个 display 方法,该方法打印了超类变量的值。 如果我们使用 print(speed) 而不是 print(super.speed),它将打印子类变量的值。 您可以复制上面的代码,将其粘贴到您的 dartpad 或记事本中,然后在不使用 super 关键字的情况下打印该值。 您可以看到两个结果之间的区别。 将 super 关键字与父类方法一起使用如前所述,super 关键字用于在子类中访问父类方法。 如果子类和父类由相同的名称组成,那么我们可以使用 super 关键字在子类中使用父类方法。 语法如下所示。 语法 让我们理解以下示例 示例 - 输出 This is the child class method This is the super class method 解释 - 在上面的代码中,我们在父类和子类中创建了同名函数。 display() 方法存在于父类和子类中,这意味着它是一种方法重写的情况。 因此,我们在子类中创建了一个 message() 方法,在其中我们使用 super 关键字调用父类方法,然后创建了子类的对象。 使用该对象,我们调用了 message() 方法,该方法将两个 display() 方法的语句打印到屏幕上。 注意 - super 只能在子类方法重写超类方法时使用。 如果没有,那么我们不需要使用 super 关键字。将 super 关键字与构造函数一起使用我们还可以使用 super 关键字来访问父类构造函数。 super 关键字可以根据情况调用参数化和非参数化构造函数。 语法如下所示。 语法 让我们理解下面的例子。 示例 - 输出 This is the super class constructor This is the sub class constructor 说明 Dart 语言的语法非常接近 C# 语言。 我们使用 super 关键字调用父类构造函数,它由 : (冒号) 分隔。 委托超类构造函数,我们应该将超类作为初始化程序。 下一主题Dart 继承 |
我们请求您订阅我们的新闻通讯以获取最新更新。