美文网首页
继承、混入、接口

继承、混入、接口

作者: ES_KYW | 来源:发表于2021-05-20 17:50 被阅读0次

extends、with、implements

dart没有interface概念,每个类都是隐式的接口;
类C只想拥有A、B的API,不需要对应的实现;
接口:
abstract class A{
  String name;
  printA();
}
abstract class B{
  printB();
}
class C implements A,B {
 @override
  String name;  
  @override
  printA() {
    print('printA');
  }
  @override
  printB() {
    return null;
  }
}
混入:
实现多继承功能;
1.作为mixins的类只能继承自Object,不能继承其他类
2.作为mixins的类不能有构造函数
3.一个类可以mixins多个mixins类
class A{
String name;
A(this.name)
printA() {
    print('printA');
  }
}
class B{
printB() {
    print('printB');
  }
}
class C{
printC() {
    print('printC');
  }
}

class D  extends A with B,C{
  D(String name) : super(name);
}

void main(){  
  var d=new D('张三');  
  d.printB();
  d.printC();
}
继承:
flutter继承是单继承,利用混入可以实现多继承的功能;
1.子类使用extends关键词来继承父类
2.子类会继承父类里面可见的属性和方法 但是不会继承构造函数
3.子类能复写父类的方法 getter和setter
4.子类重写超类的方法,要用@override
5.子类调用超类的方法,要用super
6.子类可以继承父类的非私有变量
class A{
  String name;
  A(this.name)
  printA() {
    print('printA');
  }
}
class B extends A{
 B(String name) : super(name);
  @override 
  void printA(){
     print("B"); 
  }
  printB() {
    print('printB');
  }
}

相关文章

  • 继承、混入、接口

    extends、with、implements

  • 3. Dart多接口对象

    面向对象(接口,多接口) 混入 Dart中可以使用mixin实现类似多继承的功能 作为mixin的类只能继承自Ob...

  • [Flutter]dart中extends、 implement

    概述 继承(关键字 extends) 混入 mixins (关键字 width) 接口实现(关键字 impleme...

  • Dart基础

    目录 内建类型 变量 访问属性 常量 函数 单继承,接口实现,混入 Future 内建类型 Number--包含了...

  • Flutter Dart语法(1):extends 、 impl

    在Flutter中,有如下三种关系: 继承(关键字 extends)混入 mixins (关键字 with)接口实...

  • 02-Dart基础

    Dart基础 目录 内建类型 变量 访问属性 常量 函数 单继承,接口实现,混入 Future 内建类型 Numb...

  • dart语言继承,混入,接口实现

    在Flutter中,有如下三种关系: 继承(关键字 extends)混入 mixins (关键字 with)接口实...

  • vue 混入 (mixin)

    何为混入? 混入类似于“继承”,当前组件对象继承于组件对象,一般情况下遵循“就近原则”。但是与继承不同的是,继承一...

  • Trait

    Trait像拥有部分实现的接口,它提供一个介于单一继承和多重继承的中间地带,可以在其它类中混入它们,这样就可以用一...

  • 【Dart】Dart类与对象

    类与对象 类 继承 抽象类 接口 混入 泛型 枚举类类-简介 构造器 (构造函数) 默认构造函数与类同名的函数,在...

网友评论

      本文标题:继承、混入、接口

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