Dart 编程中的方法重写
我们知道,我们可以通过使用 super 关键字或简单地创建子类的对象来访问超类中存在的方法。但是,在某些情况下,我们可能希望子类对象在使用子类对象调用时对相同方法执行不同的操作。我们可以通过在子类中再次定义相同名称、相同参数和相同返回类型的方法来实现这一点,该方法与超类中存在的方法相同。
现在,当我们调用该方法时,将调用并执行子类中存在的方法,而不是超类中定义的方法。这个我们在子类中定义与超类中已存在的方法具有相同名称、相同参数和相同返回类型的方法的过程称为方法重写。
方法重写规则
我们想要重写的方法只能写在子类中,不能写在同一个类中。
返回类型应与超类中存在的方法相同。
参数列表应与超类中存在的方法相同。
如果方法被声明为静态或 final,则我们不能重写它。
如果我们无法继承方法,我们就无法重写它。
示例
让我们看一个 Dart 中方法重写的示例。
考虑以下所示的示例:
class ParentClass {
void displayName(){
print("Inside the Parent class Method");
}
}
class ChildClass extends ParentClass {
void displayName(){
print("Inside the Child class Method");
}
}
void main(){
ParentClass pClassObject = new ParentClass();
ChildClass cClassObject = new ChildClass();
pClassObject.displayName();
cClassObject.displayName();
}在上面的示例中,我们有两个名为 ParentClass 和 ChildClass 的类,ParentClass 是超类,ChildClass 是继承超类的子类,我们在两个类中都声明了一个名为 displayName 的方法,并且在 main 函数内部,当我们尝试调用该方法时。
输出
Inside the Parent class Method Inside the Child class Method
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP