-
Mixins
mixins类似多继承,是在多类继承中重用一个类代码的方法
必须使用extends先继承,然后再多继承,使用关键字with
如果在每个方法中都有相同的方法,那么执行在mixins的最后一个方法
作为mixins的类不能有显示声明构造方法
作为mixins的类只能继承至Object(就是继承的类不能继承其他类,只能是object)
使用关键字with连接一个或者多个mixin
查看全部 -
接口
类和接口是统一的,类就是接口
,每个类都隐式的定义了一个包含所有实例成员的接口
使用关键字implements,且所有的都需要重新复写
如果是复用已有类的实现,使用继承(extends)
如果只是使用已有类的外在行为,使用接口(implements)
查看全部 -
抽象类:
抽象类使用abstract表示,不能直接实例化
抽象方法不用abstract修饰,无实现(与java不同)
抽象类可以没有抽象方法
有抽象方法的类一定得声明为抽象类
查看全部 -
一,继承中的构造方法
子类的构造方法默认会调用父类的无名无参数构造方法
如果父类没有无名无参构造方法,则需要显示调用父类构造方法
在构造方法参数后使用: 显示调用父类构造方法
二,构造方法执行顺序
父类的构造方法在子类构造方法体开始执行的位置调用
如果有初始化列表,初始化列表会在父类构造方法之前执行
初始化列表和构造方法之间用逗号隔开,且在构造方法之前
查看全部 -
继承
使用extends 继承一个类
子类会继承父类可见属性和方法,不会继承构造方法
子类可以复写父类的方法,getter和setter
单继承,多态性
super相当于子类中调用父类,相当于之前的this,表示当前对象
查看全部 -
面向对象拓展
继承 继承中的构造方法
抽象类
接口
Mixins,操作符的覆写(也叫操作符的重载,运算符的重载)
查看全部 -
对象call方法
如果类实现了call()方法,则该类的对象可以作为方法使用(不推荐使用,但是了解后读代码方便)
查看全部 -
对象操作符
条件成员访问 “?.”前面为空不往后执行,不为空往后执行
用于判断对象是否为空
类型转换 as (后面跟类型名称)
是否指定类型 is, is!
4,级联操作 .. (重要)
查看全部 -
静态成员
使用static关键字来实现类级别的变量和函数
静态成员不能访问非静态成员,非静态成员可以访问静态成员
类中的常量需要使用static const声明
查看全部 -
初始化列表
初始化列表会在构造方法体执行之前执行,写在构造方法后面
使用:声明,使用逗号分隔初始化表达式
初始化列表常用于设置对final变量的值
查看全部 -
工厂构造方法
工厂构造方法类似于设计模式中的工厂模式
在构造方法前添加关键字factory 实现一个工厂构造方法
在工厂构造方法中可以返回对象
查看全部 -
num :int 和 double
常用属性: isNaN、isEven、isOdd
常用方法:abs()、round()四舍五入、floorl()舍、ceil()入、toInt()、toDouble()
查看全部 -
类使用泛型
class Utils<T>{ T ele; void put(T ele){ this.ele = ele; } }
方法中使用泛型
class Utils{ void put<T>(T ele){ print(ele); } }
查看全部 -
var main(){ Person person1 = new Person(12); Person person2 = new Person(13); print( person1 > person2); } class Person{ int age; person(this.age); bool operator > (Person person){ return this.age > person.age; } }
查看全部 -
1. 作为mixin的类只能继承Object ,不过可以 implements 一个抽象类
2. class A = B with C;查看全部
举报