15. Dart中一个类实现多个接口以及dart中的Mixins
AI 概述
Dart 中一个类实现多个接口Dart 中的 MixinsDart 中 Mixins 类型
Dart 中一个类实现多个接口
abstract class A{
String name;
printA();
}
abstract class B{
printB();
}
class C implements A,B{
@override
String name;
@override
printA() {
print('printA'...
目录
Dart 中一个类实现多个接口
abstract class A{
String name;
printA();
}
abstract class B{
printB();
}
class C implements A,B{
@override
String name;
@override
printA() {
print('printA');
}
@override
printB() {
// TODO: implement printB
return null;
}
}
void main(){
C c=new C();
c.printA();
}
Dart 中的 Mixins
mixins 的中文意思是混入,就是在类中混入其他功能。
在 Dart 中可以使用 mixins 实现类似多继承的功能
因为 mixins 使用的条件,随着 Dart 版本一直在变,这里讲的是 Dart2.x 中使用 mixins 的条件:
1、作为 mixins 的类只能继承自 Object,不能继承其他类
2、作为 mixins 的类不能有构造函数
3、一个类可以 mixins 多个 mixins 类
4、mixins 绝不是继承,也不是接口,而是一种全新的特性
class Person {
String name;
num age;
Person(this.name, this.age);
printInfo() {
print('${this.name}----${this.age}');
}
void run() {
print("Person Run");
}
}
class A {
String info = "this is A";
void printA() {
print("A");
}
void run() {
print("A Run");
}
}
class B {
void printB() {
print("B");
}
void run() {
print("B Run");
}
}
class C extends Person with B, A {
C(String name, num age) : super(name, age);
}
void main() {
var c = new C('张三', 20);
c.printInfo();
// c.printB();
// print(c.info);
c.run();
}
运行结果:
张三----20 A Run
Dart 中 Mixins 类型
mixins 的实例类型是什么?
很简单,mixins 的类型就是其超类的子类型。
class A {
String info = "this is A";
void printA() {
print("A");
}
}
class B {
void printB() {
print("B");
}
}
class C with A, B {}
void main() {
var c = new C();
print(c is C); //true
print(c is A); //true
print(c is B); //true
// var a=new A();
// print(a is Object);
}
以上就是 Dart 中一个类实现多个接口以及 dart 中的 Mixins 知识,希望大家动手敲一下,下节我们继续讲解 Dart 的泛型相关内容。
以上关于15. Dart中一个类实现多个接口以及dart中的Mixins的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。
声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 15. Dart中一个类实现多个接口以及dart中的Mixins
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 15. Dart中一个类实现多个接口以及dart中的Mixins

微信
支付宝