学习内容:
关于类与继承
1、 简单的类的使用
void main() {
var p = new Person(18, "苗苗");
print(p.age);
print(p.name);
p.demoFunction();
}
class Person {
int age;
String name;
// 构造函数
Person(int age, String name) {
this.age = age;
this.name = name;
}
void demoFunction() {
print("the name is" + this.name);
}
}
2、 继承类:使用extends关键词
void main() {
var stu = new Students(17, "lida", 89);
stu.demoFunction();
}
class Students extends Person {
int grade;
Students(int age, String name, int grade) : super(age, name) {
this.grade = grade;
}
// 重写
@override
void demoFunction() {
// 调用父类的同名方法
super.demoFunction();
print("This students's grade is " + grade.toString());
}
}
注意:dart里面只有单继承。
3、 实现同时具备多个类的方法:混合mixin–使用with关键词。
注意:如果类和混合有同名的方法,有限使用类自身的方法;如果混合里有同名的方法,会默认使用后面的那个混合里面的方法。
void main() {
var p = new Person(18, "苗苗");
p.exam();
p.sleep();
}
class Examination {
void exam() {
print("You need join an examination.");
}
}
class Sleep {
void sleep() {
print("You need to sleep.");
}
}
class Person with Examination, Sleep {
......
}
4、抽象类abstract
abstract class Teacher {
void teach();
}
这里需要注意,抽象类里面定义的方法可以仅定义,但是在继承类里面必须要实现。