/**
* 面向对象三大特性:封装、继承、多态
* 一、继承
* 1、子类使用extends关键词来继承父类
* 2、子类会继承父类里可见的属性和方法 但不会继承构造函数
* 3、子类能重写父类的get、set方法
* 二、多态
* 1、允许将子类类型的指针赋值给父类类型的指针,同一个函数调用会有不同的结果
* 2、子类的实例赋值给父类的引用
* 3、多态就是父类定义一个方法不去实现,让继承他的类去实现,每个子类有不用的实现的结果。
*
*/
class Person{
String name = "张三";
int age = 10;
void getInfo(){
print("我是爸爸");
}
}
class Children extends Person{
//子类自己的属性
String sex;
Children(this.sex);
void childrenInfo(){
print("${this.name}---${this.age}--${this.sex}");
}
//重写父类的方法
@override
void getInfo() {
//调用父类的方法
super.getInfo();
print("我是Children");
}
}
void main(){
/**
* Children类继承自Person类 所以可以访问Person的属性和方法
*/
Children children = new Children("男");
children.name = '李四';
children.age = 10;
children.childrenInfo();
children.getInfo();
}