/*
和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接口的更多相关文章

  1. [翻译]用Dart塑造Android未来

    明天回家,今天下午瞅时间翻译了Cyril Mottier的另外一篇有关Android前景的文章. 原谅地址是:http://cyrilmottier.com/2014/06/12/shaping-th ...

  2. 从零学习Flutter(一):初识Dart

    Fluter是Google推出的跨平台开发App的一套框架,很多人都说,Google出品比属于金品,故,我也来凑凑热闹,Fluter是用Dart写的,所以在用Fluter之前,我们还是有必要简单了解一 ...

  3. Dart语法基础

    hello world // Define a function. printNumber(num aNumber) { print('The number is $aNumber.'); // Pr ...

  4. Dart - Isolate 并发

    在Dart中实现并发可以用Isolate,它是类似于线程(thread)但不共享内存的独立运行的worker,是一个独立的Dart程序执行环境.其实默认环境就是一个main isolate. 在Dar ...

  5. Go断后,Dart冲前,Google的野心

    今天,我要讲讲新的前端web语言-Dart 我是网上看到这段话,激起了兴趣,虽然我不能算是真正的web前端从业者!哈哈 [ Dart语言由谷歌制造,用来替代Javascript,弥补Javascrip ...

  6. Flutter与Dart 入门

    Flutter简介 Flutter是google推出的,一个使用Dart语言开发的跨平台移动UI框架,通过自建绘制引擎,能高性能.高保真地进行Android和IOS开发. Flutter是什么 Flu ...

  7. 7.Classes-类(Dart中文文档)

    Dart是一个面向对象的语言,同时增加了混入(mixin)继承的特性.对象都是由类初始化生成的,所有的类都由Object对象继承.混入继承意味着尽管所有类(除了Object类)只有一个父类,但是类的代 ...

  8. Dart 语言了解

    Dart 语言了解 概念 当您了解Dart语言时,请记住以下事实和概念: 您可以放在变量中的所有内容都是一个对象,每个对象都是一个类的实例.偶数,函数和 null对象.所有对象都从Object类继承. ...

  9. 30分钟掌握Dart语言

    在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型.方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推 ...

随机推荐

  1. 牛客NOIP暑期七天营-提高组1 解题报告

    https://ac.nowcoder.com/acm/contest/920#question A 构造+双指针 发现m的限制是1e5,而点数是5e4,所以不能构造太多的边,思考一下最短路树的定义. ...

  2. test20190829 神大校赛模拟

    100+100+0=200,聪明搬题人题面又出锅了. 最短路径(path) 给定有向图,包含 n 个节点和 m 条有向边. 一条A 到 B 的路径是最短路径当且仅当不存在另一条从A 到 B 的路径比它 ...

  3. Win10 系统 Mysql 安装

    对于本地开发环境,小型的 Mysql 比较适合本地学习. 本文环境 win10 + mysql8 1.下载 去 Mysql 官网下载安装包 - https://dev.mysql.com/downlo ...

  4. 洛谷 P3375 【模板】KMP字符串匹配 题解

    KMP模板,就不解释了 #include<iostream> #include<cstdio> #include<cstring> #include<algo ...

  5. greenplum 表在各个节点数据的分布情况

    select gp_segment_id,count(*) from table_name group by gp_segment_id;

  6. 查看java的jar包源码

    1.jd-gui (windows环境) 下载地址 https://files.cnblogs.com/files/indifferent/jd-gui-windows-1.5.1.zip 下载并解压 ...

  7. Distributed PostgreSQL on a Google Spanner Architecture – Storage Layer

    转自:https://blog.yugabyte.com/distributed-postgresql-on-a-google-spanner-architecture-storage-layer/ ...

  8. HTML5新增input标签属性

    一. input type属性 <form action=""> 邮箱<input type="email" name="" ...

  9. Poj 3261 Milk Patterns(后缀数组+二分答案)

    Milk Patterns Case Time Limit: 2000MS Description Farmer John has noticed that the quality of milk g ...

  10. 34、spark1.5.1

    一.Spark 1.4.x的新特性 1.Spark Core 1.1 提供REST API供外界开发者获取Spark内部的各种信息(jobs / stages / tasks / storage in ...