-
枚举
枚举是一种有穷序列集的数据类型
使用关键字enum定义一个枚举
常用于代替常量,控制语句等
dart枚举类型
index从0开始,依次累加
不能指定原始值
不能添加方法
查看全部 -
操作符覆写
覆写操作符需要在类中定义
查看全部 -
Mixins
mixins类似多继承,是在多类继承中重用一个类代码的方法
必须使用extends先继承,然后再多继承,使用关键字with
如果在每个方法中都有相同的方法,那么执行在mixins的最后一个方法
作为mixins的类不能有显示声明构造方法
查看全部 -
接口
类和接口是统一的,类就是接口
每个类都隐式的定义了一个包含所有实例成员的接口
使用关键字implements,且所有的都需要重新复写
如果是复用已有类的实现,使用继承(extends)
如果只是使用已有类的外在行为,使用接口(implements)
查看全部 -
抽象类:
抽象类使用abstract表示,不能直接实例化
抽象方法不用abstract修饰,无实现(与java不同)
抽象类可以没有抽象方法
有抽象方法的类一定得声明为抽象类
查看全部 -
继承构造方法
子类构造方法默认调用父类无名构造方法
父类没有无名无参构造方法,则需要显示调用父类构造方法
构造方法参数后使用 : 显示调用父类构造方法
执行顺序
父类构造方法在子类构造方法体执行前调用
查看全部 -
继承
使用extends 继承一个类
子类会继承父类可见属性和方法,不会继承构造方法
子类可以复写父类的方法,getter和setter
单继承,多态性
super相当于子类中调用父类,相当于之前的this,表示当前对象
查看全部 -
面向对象拓展
继承 继承中的构造方法
抽象类
接口
Mixins,操作符的覆写
查看全部 -
对象call方法
如果类实现了call()方法,则该类的对象可以作为方法使用
查看全部 -
对象操作符
条件成员访问 “?.”前面为空不往后执行,不为空往后执行
用于判断对象是否为空
类型转换 as (后面跟类型名称)
是否指定类型 is, is!
级联操作 ..
查看全部 -
静态成员
使用static关键字来实现类级别的变量和函数
静态成员不能访问非静态成员,非静态成员可以访问静态成员
类型中的常量使用static const声明
查看全部 -
初始化列表
初始化列表会在构造方法体执行之前执行
使用逗号分隔初始化表达式
初始化列表常用于设置final变量的值
查看全部 -
工厂构造方法
工厂构造方法类似于设计模式中的工厂模式
在构建方法前添加关键字factory实现一个工厂构造方法
在工厂构造方法中可返回对象
查看全部 -
常量构造方法
如果类是不可变状态,可以把对象定义为编译时常量
使用const声明构造方法,并且所有变量都为final
使用const声明对象,可以省略
查看全部 -
构造方法
如果没有自定义构造方法,则会有个默认构造方法
如果存在自定义构造方法,则默认构造方法无效
构造方法不能重载
命名构造方法
使用命名构造方法,可以实现多个构造方法
使用类名.方法的形式实现
查看全部
举报