Dart中的mixins

/*
mixins的中文意思是混入,就是在类中混入其他功能。在Dart中可以使用mixins实现类似多继承的功能,with关键字因为mixins使用的条件,随着Dart版本一直在变,这里讲的是Dart2.x中使用mixins的条件:1、作为mixins的类只能继承自Object,不能继承其他类2、作为mixins的类不能有构造函数3、一个类可以mixins多个mixins类4、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();  c.printA();c.printB();print(c.info);}
/*
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{//如果A、B中有同样的方法则谁在后面就执行谁的方法C(String name, num age) : super(name, age);}void main(){  var c=new C('张三',20);  c.printInfo();// c.printB();// print(c.info);
c.run();}
/*
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);    //trueprint(c is A);    //trueprint(c is B);   //true// var a=new A();// print(a is Object);
}

 

转载于:https://www.cnblogs.com/loaderman/p/11026875.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]Messenger:使用消息的跨进程通信

本文转自:http://xwangly.iteye.com/blog/1109424 Messenger:信使 官方文档解释:它引用了一个Handler对象,以便others能够向它发送消息(使用mMessenger.send(Message msg)方法)。该类允许跨进程间基于Message的通信(即两个进程间可以通过Mess…

常用WebService一览表

天气预报Web服务,数据来源于中国气象局 Endpoint :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx Disco :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?disco WSDL :http://www.webxml.com.cn/WebServices/WeatherWeb…

Ubuntu 10.10 下配置Telnet服务器

首先说明我的系统环境: Ubuntu10.10 x86 Desktop 在这个系统上默认只安装了telnet(也就是client) rootwww.linuxidc.com:~# dpkg -s telnet Package: telnet Status: install ok installed Priority: standard Section: net Installed-Size: …

python 编程模型

数据模型(译) image.png1 对象(object)、类型(type)和值(value) python中所有的数据都是通过对象(object)或者对象之间的关系来表示 每个对象(obj…

MySQL实战练习

在测试Django的数据库同步时,经常会出现需要Drop掉MySql数据库表情况。单独开发了一个MySQL删除脚本。 其中涉及到动态语法与MySQL的数据字典概念。 CREATE DEFINER Productlocalhost PROCEDURE ClearTables( IN Confirm BOOLEAN ) DETERMINISTIC MODIFIES SQL DAT…

R中统计假设检验总结(一)

先PS一个:考虑到这次的题目本身的特点 尝试下把说明性内容都直接作为备注写在语句中 另外用于说明的部分例子参考了我的教授Guy Yollin在Financial Data Analysis and Modeling with R这门课课件上的例子 部分参考了相关package的帮助文档中的例子 下面正题- 戌 >…

linux中如何快速进入某个目录

http://blog.csdn.net/qinglu000/article/details/17247283 1. 如果偶尔进的话可用tab键加速目录输入速度。 2. 如果经常进某个目录可设置环境变量例如$DIRPATH/usr/bin,通过cd $DIRPATH的方式进入。 3. 更简单可以通过alias 命令注册一个快捷命令如alias uucd /us…

事务的四大特性和隔离级别

1.事务的四大特性(ACID):指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability&#xff09…

改造MUC实现Openfire群

我的Openfire群实现思路: 1、群和群成员,要保存到表中。 2、拉取群列表和群成员列表,均从DB中查询返回。 3、抛弃老外的“进房间,要发Presence ”。只要此人一上线,就模似一个Presence进行joinRoom,进入他的…

如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信

http://blog.csdn.net/whuancai/article/details/11994341 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信 原文出自:http://blog.csdn.net/monkey_d_meng/article/details/5894910 尊重作者:MONKEY_D_MENG 最近一段时间,由…

14 Scroll 滚动搜索

Scroll的用法:第一次搜的时候,要指定 快照保留时间1min,分页的大小:2条/页;对于第一次搜索,ES会返回一个这个scroll的id;下次再搜的时候,就带着这个scrollid去搜就行了,不…

解决IE6透明PNG图片的代码

使用方法1.下载DD_belatedPNG.js文件&#xff08;官方网站&#xff1a;http://www.dillerdesign.com/experiment/DD_belatedPNG/&#xff09;. 2.在网页中head区引用,如下:<!--[if IE 6]><script src"DD_belatedPNG.js" mce_src"DD_belatedPNG.js"…

LVS+Keepalived负载均衡方式总结

1、负载均衡器、服务器集群直连方式&#xff08;lb_kind DR&#xff09;http://network.51cto.com/art/201006/206831.htmhttp://www.myhack58.com/Article/sort099/sort0102/2012/35640_4.htm负载均衡器最简洁安装可以直接#yum ipvsadm keepalived根据51cto.com网站知道要分别…

VS2008中使用JSONCPP方法小结

http://sourceforge.net/projects/jsoncpp/?sourcetyp_redirect C要使用JSON来解析数据&#xff0c;一般采用jsoncpp. 下载jsoncpp后&#xff0c;按ReadMe文档的说法是要先安装的&#xff0c;但是安装比较麻烦。然而事实上&#xff0c;我们并不需要安装&#xff0c;就可以直接…

SQL条件语句(IF, CASE WHEN, IF NULL)

1.IF 表达式&#xff1a;IF( expr1 , expr2 , expr3 ) expr1条件&#xff0c;条件为true&#xff0c;则值是expr2 &#xff0c;false&#xff0c;值就是expr3 SELECT o.id,u.account,catagory.name,orderTime,detail.amount,periodtime,if(direction0,看涨,看跌) directionNam…

Forensic Challenge 9 - Mobile Malware

使用智能手机的人越来越多&#xff0c;对智能手机的安全研究也慢慢开始成为重点。The honey project有一个Mobile malware的挑战赛&#xff0c; 带你走进Mobile Malwares的世界。参见&#xff1a; Forensic Challenge 9 - "Mobile Malware" 样本&#xff1a; fc9fil…

如何在Windows下编译OpenSSL

OpenSSL是一个开源的第三方库&#xff0c;它实现了SSL&#xff08;Secure SocketLayer&#xff09;和TLS&#xff08;Transport Layer Security&#xff09;协议&#xff0c;被广泛企业应用所采用。对于一般的开发人员而言&#xff0c;在 http://slproweb.com/products/Win32Op…

《团队名称》第八次团队作业:Alpha冲刺day5

项目内容这个作业属于哪个课程2016计算机科学与工程学院软件工程(西北师范大学)这个作业的要求在哪里实验十二 团队作业8—软件测试与ALPHA冲刺团队名称快活帮作业学习目标 &#xff08;1&#xff09;掌握软件测试基础技术。 &#xff08;2&#xff09;学习迭代式增量软件开发过…

(转)C# 把我所积累的类库全部分享给博友(附件已经上传)

http://files.cnblogs.com/LsGW/Common.zip转载于:https://www.cnblogs.com/meetrice/archive/2012/01/02/2310428.html

Oracle的resetlogs机制浅析

alter database open resetlogs 这个命令我想大家都很熟悉了&#xff0c;那有没有想过这个resetlogs选项为什么要用&#xff1f;什么时候用&#xff1f;它的原理机制是什么&#xff1f;他都起哪些作用&#xff1f;我们都知道数据在启动时候是要做一致性检查的&#xff0c;oracl…