流程控制语句
- if---else
- for
- while && do-while
- break && continue
- switch && case
- assert(断言)
- try-catch && throw
异常处理
- throw FormatException('跑出异常')
- throw('直接跑出异常')
捕获异常
try{
}on Exception catch(e){
}catch(e,s){
print('rrrrrrrrr')
}
Finally
try{
}on Exception catch(e){
}catch(e,s){
print('rrrrrrrrr')
}finally{
print('do something !!!')
}
面向对象
支持面向对象的很多特性,并且支持基于minxin的继承方式。基于minixn的继承方式:一个类是可以继承多个父类,相当于其他语言里的多继承,所有的类都是同一个基类Object。
var user = new User('张三',20)
实例化成员变量
class User {
String name; //name成员变量
int age; //age成员变量
}
main() {
var user = new User();
user.name = 'zhangsan';
user.age = 20;
}
构造函数
用来构造当前类的函数,是一种特殊的函数,函数名称必须和类名相同,
class User {
String name;
int age;
User(String name, int age) {
this.name = name;
this.age = age;
}
}
this关键字指向当前类的实例,简化函数
class User{
String name;
int age;
User(this.name, this.age)
}
命名构造函数
使用命名构造函数从另一类或现有的数据中快速实现构造函数
class User{
String name;
int age;
User(this.name, this.age)
//命名的构造函数
User.fromJson(Map json){
name = json('name');
age = jaon('age');
}
}
继承类
继承允许创建分等级层次创建的类,子类继承父类的特征和行为,使得子类具有父类的实例和方法,子类从父类继承方法,使得子类具有父类相同的行为,使用extends创建一个父类,super关键字来指定父类;
- 枚举类型
red,
yellow,
blue
}
List<Color> colors = colors.value
- Mixins相当于多继承,也就是可以继承多个类,使用with关键字来实现Mixins的功能。
A:具有吃饭,读书技能
B:具有画画,弹琴的技能
C = A with B
C:具有吃饭,读书,画画,弹琴的技能
泛型:用了类型安全而设计,适当的指定泛型类型hi生成更好的代码,可以使用泛型来减少代码的重复;List<Type>
- 元数据
使用元数据给代码添加更多的信息,元数据是以@开始的修饰符,在@之后接着编译常量或调用一个常量的构造函数:
@deprecated被弃用的
@override重写
@proxy代理
网友评论