Dart接口
/*
和Java一样,dart也有接口,但是和Java还是有区别的。 首先,dart的接口没有interface关键字定义接口,而是普通类或抽象类都可以作为接口被实现。 同样使用implements关键字进行实现。 但是dart的接口有点奇怪,如果实现的类是普通类,会将普通类和抽象中的属性的方法全部需要覆写一遍。 而因为抽象类可以定义抽象方法,普通类不可以,所以一般如果要实现像Java接口那样的方式,一般会使用抽象类。 建议使用抽象类定义接口。 */ /*
定义一个DB库 支持 mysql mssql mongodb mysql mssql mongodb三个类里面都有同样的方法 */ abstract class Db{ //当做接口 接口:就是约定 、规范
String uri; //数据库的链接地址
add(String data);
save();
delete();
} class Mysql implements Db{ @override
String uri; Mysql(this.uri); @override
add(data) {
// TODO: implement add
print('这是mysql的add方法'+data);
} @override
delete() {
// TODO: implement delete
return null;
} @override
save() {
// TODO: implement save
return null;
} remove(){ } } class MsSql implements Db{
@override
String uri;
@override
add(String data) {
print('这是mssql的add方法'+data);
} @override
delete() {
// TODO: implement delete
return null;
} @override
save() {
// TODO: implement save
return null;
} } main() { Mysql mysql=new Mysql('xxxxxx'); mysql.add('1243214'); }
/*
和Java一样,dart也有接口,但是和Java还是有区别的。 首先,dart的接口没有interface关键字定义接口,而是普通类或抽象类都可以作为接口被实现。 同样使用implements关键字进行实现。 但是dart的接口有点奇怪,如果实现的类是普通类,会将普通类和抽象中的属性的方法全部需要覆写一遍。 而因为抽象类可以定义抽象方法,普通类不可以,所以一般如果要实现像Java接口那样的方式,一般会使用抽象类。 建议使用抽象类定义接口。 */ /*
定义一个DB库 支持 mysql mssql mongodb mysql mssql mongodb三个类里面都有同样的方法 */ // import 'lib/Mysql.dart';
import 'lib/MsSql.dart'; main() { // Mysql mysql=new Mysql('xxxxxx'); // mysql.add('1243214'); MsSql mssql=new MsSql();
mssql.uri='127.0.0.1'; mssql.add('增加的数据'); }
import 'Db.dart';
class MsSql implements Db{
  @override
  String uri;
  @override
  add(String data) {
    print('这是mssql的add方法'+data);
  }
  @override
  delete() {
    // TODO: implement delete
    return null;
  }
  @override
  save() {
    // TODO: implement save
    return null;
  }
}
abstract class Db{   //当做接口   接口:就是约定 、规范
    String uri;      //数据库的链接地址
    add(String data);
    save();
    delete();
}
/*
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接口的更多相关文章
- [翻译]用Dart塑造Android未来
		
明天回家,今天下午瞅时间翻译了Cyril Mottier的另外一篇有关Android前景的文章. 原谅地址是:http://cyrilmottier.com/2014/06/12/shaping-th ...
 - 从零学习Flutter(一):初识Dart
		
Fluter是Google推出的跨平台开发App的一套框架,很多人都说,Google出品比属于金品,故,我也来凑凑热闹,Fluter是用Dart写的,所以在用Fluter之前,我们还是有必要简单了解一 ...
 - Dart语法基础
		
hello world // Define a function. printNumber(num aNumber) { print('The number is $aNumber.'); // Pr ...
 - Dart - Isolate 并发
		
在Dart中实现并发可以用Isolate,它是类似于线程(thread)但不共享内存的独立运行的worker,是一个独立的Dart程序执行环境.其实默认环境就是一个main isolate. 在Dar ...
 - Go断后,Dart冲前,Google的野心
		
今天,我要讲讲新的前端web语言-Dart 我是网上看到这段话,激起了兴趣,虽然我不能算是真正的web前端从业者!哈哈 [ Dart语言由谷歌制造,用来替代Javascript,弥补Javascrip ...
 - Flutter与Dart 入门
		
Flutter简介 Flutter是google推出的,一个使用Dart语言开发的跨平台移动UI框架,通过自建绘制引擎,能高性能.高保真地进行Android和IOS开发. Flutter是什么 Flu ...
 - 7.Classes-类(Dart中文文档)
		
Dart是一个面向对象的语言,同时增加了混入(mixin)继承的特性.对象都是由类初始化生成的,所有的类都由Object对象继承.混入继承意味着尽管所有类(除了Object类)只有一个父类,但是类的代 ...
 - Dart 语言了解
		
Dart 语言了解 概念 当您了解Dart语言时,请记住以下事实和概念: 您可以放在变量中的所有内容都是一个对象,每个对象都是一个类的实例.偶数,函数和 null对象.所有对象都从Object类继承. ...
 - 30分钟掌握Dart语言
		
在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型.方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推 ...
 
随机推荐
- canvans知识点
			
1.绘制圆的角度示意图: 2 倒计时中,时钟数字的渲染逻辑: 3 直线边缘样式的设置 context.lineCap = "butt"; context.lineCap = &qu ...
 - (java)Jsoup爬虫学习--获取智联招聘(老网站)的全国java职位信息,爬取10页
			
Jsoup爬虫学习--获取智联招聘(老网站)的全国java职位信息,爬取10页,输出 职位名称*****公司名称*****职位月薪*****工作地点*****发布日期 import java.io.I ...
 - css 为什么给span加vertical-align: middle不起作用?
			
vertical-align是什么意思?先举个例子! 这句html元素中的文本为什么不能垂直居中. <style> span{ height:60px;vertical-align: mi ...
 - (尚009)Vue列表渲染
			
变异方法:说白了就是对原方法进行了包装,包装后实现了2个功能1:实现原方法的功能;2.更新界面. 1.test009.html <!DOCTYPE html><html lang=& ...
 - Error Codes Messages查找工具介绍
			
当我们通过各种手段获取到一个Windows错误码后,如何获取对应的错误消息呢?有两种方法:一是用编程的手段(FormatMessage):其二是用现成的工具.第一种方法一般在我们编码的时候有用,而更多 ...
 - 配置django的环境实现外部脚本调用django中的模型类
			
通过导入os模块,os设置django的settings文件,配置好django项目的环境,然后执行django.set_up()使环境生效,然后就可以导入模型类,使用增删改查
 - salt state.sls windows 传输文件
			
salt 安装 - 传输文件 一.master -- minion linux 下 master 拷贝到 minion 上 1.cp.get_file 拷贝文件 # salt '172.16.3. ...
 - luogu 2592 区间dp
			
\(f_{i, j, a, b}\) 表示当前一共有 \(i\) 人排队, \(j\) 名男生,男生数目 - 女生数目为 \(a\), 女生数目 - 男生数目为 \(b\),\(a, b >= ...
 - Bzoj 1926: [Sdoi2010]粟粟的书架(二分答案+乱搞+主席树)
			
1926: [Sdoi2010]粟粟的书架 Time Limit: 30 Sec Memory Limit: 552 MB Description 幸福幼儿园 B29 班的粟粟是一个聪明机灵.乖巧可爱 ...
 - Cogs 1708. 斐波那契平方和(矩阵乘法)
			
斐波那契平方和 ★★☆ 输入文件:fibsqr.in 输出文件:fibsqr.out 简单对比 时间限制:0.5 s 内存限制:128 MB [题目描述] ,对 1000000007 取模.F0=0, ...