flutter从入门到精通二
静态方法和静态属性(static):
- 通过static修饰的方法和属性称为静态方法和静态属性,注意静态方法和静态属性只能通过类名访问,不能通过对象访问。
- 静态方法不能访问非静态的属性和非静态方法,反正可以
class Person{
String name;
int age;
Person(this.name,this.age);
printInfo(){
//在字符串中,可以直接通过${}访问类的属性和方法
print('${this.name}---${this.age}');
}
}
class Web extends Person{
/**
*super 是调用父类的构造方法
*构造函数是无法继承,所有在子类继承父类的时候,需要super来实现父类的构造方法
*/
Web(String name, num age) : super(name, age);
// override可写,可不写,建议写上
@override
printInfo(){
print('子类中的${this.name}---${this.age}');
}
}
main(){
/**
* Dart中对象操作符
* ?条件运算符
* is类型判断
* ..级联操作
*/
Person p1;
// 下面表示如果p1是空,表示不执行后面的,如果有值,执行后面的
p1?.printInfo();
Person p2=new Person('张三',20);
p2?.printInfo();
p2..name='李四'
..age=20
..printInfo();
}
抽象类:用abstract修饰的类
抽象类中有抽象方法,其是没有方法体的,继承抽象类的子类必须要实现子类的抽象方法
abstract class Animal{
// 抽象方法,子类必须要实话抽象方法
eat();
}
class Dog extends Animal{
@override
eat() {
print('我是小狗');
}
}
main(){
/**
* 抽象类(abstract主要用来指定标准)
* 在dart中,定义接口和定义抽象类一样,都使用abstract,**dart中接口没有使用interface定义**
* 抽象类不能被实例化,只有继承他的子类实例化
* 接口里面必须全部是抽象方法,没有普通的方法,但是抽象类中可以既有普通方法,也有抽象方法
*/
Dog d=new Dog();
d.eat();
}
一个类可以实现多个接口,但是只能单继承抽象类,如果模仿多继承,可以使用mixins,作为mixins的类只能继承Object,不能继承其他的类,作为mixins的类不能有构造函数,如下:
class A{
printA(){
print('A');
}
}
class B{
printB(){
print('B');
}
}
//如果模仿多继承,可以使用mixins
class C with A,B{
}
main(){
C c1=new C();
c1.printB();
}
泛型:可以解决代码重用和不特定的类型校验的问题
// 泛型方法,注意需要加上三个地方T
T getData<T>(T data){
return data;
}
main(){
print(getData<String>('我叫唐凯震'));
}
dart中的库
import 'package:http/http.dart';
main(){
/**
* 库
* dart中,库通过import引入,注意是没有from
* 每个dart文件都是一个库
* 库分类:
* 1,自定义库
* 2,系统内置的库:import 'dart:xxx'
* 3,第三方库,托管到pub包管理系统中的
* 第三方库可以从下面的地址中寻找:
* https://pub.dev/packages
*
* 使用第三方库按照下面步骤:
* 1,创建pubspec.yaml文件
* 2,配置pubspec.yaml文件
* 3,运行put get获取远程库
* 5,看文档引入库使用
*/
}
con
扫码关注公众号,有更多精彩文章等你哦

flutter从入门到精通二的更多相关文章
- iOS开发-UI 从入门到精通(二)
iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...
- Python基本语法,python入门到精通[二]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]我们已经在自己的windows电脑上搭建好了python的开发环境,这篇博客呢我就开始学习一下Python的基本语法.现 ...
- PHP从入门到精通(二)
PHP从入门到精通 之PHP中的函数 各位开发者朋友大家好,自上次更新PHP的相关知识,得到了大家的广泛支持.PHP的火爆程度不言而喻,函数作为PHP中极为重要的部分,应诸位的支持,博主继续跟进更新 ...
- MyBatis从入门到精通(二):MyBatis XML方式的基本用法之Select
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 1. 明确需求 书中提到的需求是一个基 ...
- SpringBoot从入门到精通二(SpringBoot整合myBatis的两种方式)
前言 通过上一章的学习,我们已经对SpringBoot有简单的入门,接下来我们深入学习一下SpringBoot,我们知道任何一个网站的数据大多数都是动态的,也就是说数据是从数据库提取出来的,而非静态数 ...
- flutter从入门到精通五
在flutter的世界里,一切都是Widget,图像,文本,布局模型等等,一切都是Widget flutter中,尽量将Widget放在MaterialApp.其封装了所需要的一些Widget,Mat ...
- flutter从入门到精通四
widget Flutter 从 React 中吸取灵感(如果有react的编程经验,会很容易理解flutter),通过现代化框架创建出精美的组件. 它的核心思想是用 widget 来构建你的 UI ...
- flutter从入门到精通三
flutter可以通过一套代码运行在多个平台上,包括移动,web,桌面,嵌入式,但是在 Web 平台的支持尚未达到 Beta 阶段,请不要用在生产环节,在阅读文档时候,推荐大家阅读https://fl ...
- flutter从入门到精通一
Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动.Web.桌面和嵌入式平台 flutter是基于dart语言开发的,我们将首先通过几章节 ...
随机推荐
- [转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)
两种情况(场景) 情况一 代码还只在本地,未push到运程仓库,想把代码还原到上一次commit的代码,此时操作为代码撤销 解决方案: 1 git reset [--hard|soft|mi ...
- 基于 Binlog + Flink 实现多表数据同构/异构方案
https://mp.weixin.qq.com/s/1h942YAcS6fhO5C43hGX-w 什么是数据异构?简单讲,就是将数据进行异地数据异构存储. 数据异构 服务市场使用 BinLake(京 ...
- mongodb批量update更新数据
需要先查找出相关的记录,然后循环处理更新数据.如下案例,更新所有status=1的数据的gender值为2 db.getCollection('test').find({"status&qu ...
- typeScript中的函数
// 函数的定义 //es5定义函数的方法 /* //函数声明法 function run(){ return 'run'; } //匿名函数 var run2=function(){ return ...
- OMPL RRTConnet 生成路径和可视化
默认规划路径算法和RRTConnet路径规划算法生成路径 1. 源代码 #include <ompl/base/SpaceInformation.h> #include <ompl ...
- DEBUG技巧里的问题1 双击某个变量不能显示
DEBUG模式 双击 ls_return-type 变量不能显示,提示警告消息 好像说明的不是这个问题, 把字段复制到右边的变量框里可以显示 这个确实有点奇怪了
- Gson反序列json到实体类
gson在基准测试过程中各项性能接近于Jackson(具体可以看Benchmark of Java JSON libraries)里面的测试, 本人亲测过,实测结果与他的数据一致,Jackson安全性 ...
- oracle归档空间
select GROUP_NUMBER, NAME, STATE, TOTAL_MB-FREE_MB as USED_MB, FREE_MB, USABLE_FILE_MB from v$asm_di ...
- HTML中设置在浏览器中固定位置fixed定位
之前的博文 HTML布局排版之制作个人网站的文章列表,中链接到的文章本身,也需要返回到列表主页,可在每个文章页面加导航条,也可以只加个返回到列表主页的链接.刚开始是想在博文最下方,加个返回文章列表的链 ...
- 英雄联盟测试静态IP(固态IP)和动态IP的网速测试
在自己家里测试的,平时用迅雷下载大约600KB/S.同时,设置成动态IP的话,英雄联盟的延迟大约在100ms左右,如果设置成静态IP的话,大约是50ms左右,不过也有可能和DNS服务器的设置成静态有关 ...