深入理解 Dart 中的继承和 Minxins

Posted 熊喵先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解 Dart 中的继承和 Minxins相关的知识,希望对你有一定的参考价值。

上一篇文章中我们详细地介绍了 Dart 中的面向对象的基础,这一篇文章中我们继续探索 Dart 中面向对象的重点和难点(继承和 Mixins)。Mixins(混合)特性是很多语言中都是没有的。这篇文章主要涉及到 Dart 中的普通继承、Mixins 多继承的形式(实际上本质并不是真正意义的多继承)、Mixins 线性化分析、Mixins 类型、Mixins 使用场景等。

1. 类的单继承

1.1 基本介绍

Dart 中的单继承和其他语言中类似,都是通过使用 extends 关键字来声明。例如:

class Student extends Person //Student 类称为子类或派生类,Person 类称为父类或基类或超类。这一点和 Java 中是一致的。
    ...

1.2 继承中的构造函数

子类中构造函数会默认调用父类中无参构造函数(一般为主构造函数)。

class Person 
  String name;
  String age;

  Person() 
    print(\'person\');
  


class Student extends Person 
  String classRoom;
  Student() 
    print(\'Student\');
  


main()
  var student = Student();//构造 Student()时会先调用父类中无参构造函数,再调用子类中无参构造函数

输出结果:

person
Student

Process finished with exit code 0

以上是关于深入理解 Dart 中的继承和 Minxins的主要内容,如果未能解决你的问题,请参考以下文章

深入理解 Dart 中的类型系统和泛型

Dart语法篇之面向对象继承和Mixins

▩Dart-深入理解空安全

深入理解Java中的组合和继承

深入理解javascript原型和闭包——继承

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