Dart基础第九篇:面向对象之封装继承多态

/**
 * 面向对象三大特性:封装、继承、多态
 * 一、继承
 * 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();

}
发布了66 篇原创文章 · 获赞 36 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/u013600907/article/details/99843078