继承是面向对象三大特性之一,在dart中 继承几乎和java保持一致
- 继承为单继承
- 可以继承父类的公有属性及方法
- 可以重写父类的方法
- 可以重写父类的计算属性
- 不可以重写继承访问父类的私有属性
- 必须显示调用父类的带参构造方法
- 初始化列表 必须得在构造方法之前调用
void main(){
Person student = Student("张三");
if(student is Student){
student.number = "1001";
student.info();
}
}
class Person{
String name;
int age;
Person(this.name,this.age);
Person.withName(this.name);
}
class Student extends Person{
String number;
Student(String name) : super.withName(name);
void info(){
print("学生的信息 $name");
}
}
初始化列表必须在构造方法之前调用案例
void main() {
Person student = Student("张三","男");
if (student is Student) {
student.number = "1001";
student.info();
}
}
class Person {
String name;
int age;
Person(this.name, this.age);
Person.withName(this.name);
}
class Student extends Person {
String number;
final String gender;
Student(String name, String gender)
: gender = gender,
super.withName(name);
void info() {
print("学生的信息 $name / $gender");
}
}