美文网首页
Flutter/Dart - 类的继承

Flutter/Dart - 类的继承

作者: 沫之 | 来源:发表于2020-07-13 15:35 被阅读0次

前言

Dart中的继承:

1.子类使用extends关键词来继承父类

2.子类会继承父类里面可见的属性和方法,但是不会继承构造函数

3.子类能复写父类的方法 getter和setter

简单继承

子类使用extends关键词来继承父类

class Person {
  String name = '张三';
  num age = 30;

  void printInfo() {
    print('${this.name}----${this.age}');
  }
}

class Web extends Person {}

main() {
  Web w = new Web();
  print(w.name);
  w.printInfo();
}

super关键词的使用

class Person {
  String name;
  num age;
  Person(this.name, this.age);
  void printInfo() {
    print('${this.name}----${this.age}');
  }
}

class Web extends Person {
  Web(String name, num age) : super(name, age);
}

main() {
  Web w = new Web('hhh', 12);
  w.printInfo(); // hhh--- 12
}

实例化子类给父类构造函数传参

子类里面可以扩展自己属性和方法

class Person {
  String name;
  num age;
  Person(this.name, this.age);
  void printInfo() {
    print('${this.name}----${this.age}');
  }
}

class Web extends Person {
  String sex;
  Web(String name, num age, String sex) : super(name, age){
    this.sex = sex;
  }
  run(){
    print("${this.name}---${this.age}---${this.age}");
  }

}

main() {
  Web w = new Web('hhh', 12, '女');
  w.run(); // hhh--- 12
}

实例化子类给命名构造函数传参

class Person {
  String name;
  num age;
  Person(this.name, this.age);
  Person.xxx(this.name, this.age); // 此处有修改
  void printInfo() {
    print('${this.name}----${this.age}');
  }
}

class Web extends Person {
  String sex;
  // 此处有修改
  Web(String name, num age, String sex) : super.xxx(name, age) {
    this.sex = sex;
  }
  run() {
    print("${this.name}---${this.age}---${this.age}");
  }
}

main() {
  Web w = new Web('hhh', 12, '女');
  w.run(); // hhh--- 12
}

覆写父类的方法

class Person {
  String name;
  num age;
  Person(this.name, this.age);
  void printInfo() {
    print('${this.name}----${this.age}');
  }

  work() {
    print('${this.name}----${this.age}');
  }
}

class Web extends Person {
  String sex;
  Web(String name, num age, String sex) : super(name, age) {
    this.sex = sex;
  }
  run() {
    super.work(); //子类调用父类的方法
    print("${this.name}---${this.age}---${this.age}");
  }

  // 覆写父类的方法
  @override // 可以写 可以不写
  void printInfo() {
    print('姓名:${this.name}----年龄${this.age}');
  }
}

main() {
  Web w = new Web('hhh', 12, '女');
  w.printInfo();
  w.run();
}

相关文章

  • Flutter/Dart - 类的继承

    前言 Dart中的继承: 1.子类使用extends关键词来继承父类 2.子类会继承父类里面可见的属性和方法,但是...

  • flutter【7】dart语言--类

    类 dart 是纯面向对象语言,每个对象都是某个类的实例,并且所有类都是继承自 Object。 dart中继承使用...

  • Dart语言的继承

    类的定义 在Dart中定义一个类的方法如下 Dart类的三种继承方式 父类继承 extends 实现接口 impl...

  • 【Flutter】Dart中的继承

    ?【Flutter】学习养成记,【程序员必备小知识】 ? 今日小知识——【Flutter】Dart中的继承! 1....

  • Flutter 代码规范整理

    Dart 语法简介 Flutter是使用Dart语言开发的。Dart语言是基于类的纯面向对象语言。Dart 中的所...

  • 8.Dart-对象属性, 方法, get, set

    /** * Dart所有的东西都是对象, 所有的对象都是继承自Object类 * Dart是一门实用类和单继承的面...

  • Dart学习笔记——面向对象(二)

    继承 简单继承 Dart中的类的继承: 子类使用extends关键词来继承父类。 子类会继承父类里面可见的属性和方...

  • Flutter/Dart - Dart中的抽象类 多态 和接口

    Dart中的抽象类 Dart中的抽象类: Dart抽象类主要用于定义标准,子类可以继承抽象类,也可以实现抽象类接口...

  • Flutter中extends、implements、mixin

    extends是继承可以继承父类的特性。 Dart中继承是单继承. 构造函数或者析构函数不能继承. 子类重写父类方...

  • Dart-04 类、对象、mixins

    Dart所有的东西都是对象,所有的对象都继承自Object类。Dart是一门使用类和单继承的面向对象语言,所有的对...

网友评论

      本文标题:Flutter/Dart - 类的继承

      本文链接:https://www.haomeiwen.com/subject/dmnacktx.html