前面的文章flutter笼统的学习过级联..表示方法。但是没有自己实践过,因此还是一知半解。这篇文章就是解惑的。
什么是级联表示法
级联就是允许我们对同一个对象进行一些列操作。我们不但可以访问函数的调用。也可以访问成员变量。通常我们使用级联的表示法可以节省创建临时变量的步骤。
基本样式如下
querySelector('#confirm') // Get an object.
..text = 'Confirm' // Use its members.
..classes.add('important')
..onClick.listen((e) => window.alert('Confirmed!'));
- 级联表示法首先要创建一个对象
- 级联表示法第二步就是给变量赋值或者调用方法(这时候是忽略方法的返回值的)
上面的代码和下面的代码相同
var button = querySelector('#confirm');
button.text = 'Confirm';
button.classes.add('important');
button.onClick.listen((e) => window.alert('Confirmed!'));
具体举例
void main() {
final Button button = Button()
..eMail="qq"
..name = "mm"
..text="button"
..eventSetString("hit")
..printStr();
}
class Button {
String text;
String name;
String eMail;
String event;
String eventSetString(String event){
this.event=event;
}
void printStr(){
print("${text} ${name} ${eMail} ${event}");
}
}
输出结果
级联表示法
我们可以依次调用对象下面的任何方法
级联表示法感觉很适合依赖倒置原则,按照流程对方法进行调用
注意
级联表示法的第一条原则是返回一个对象。要是返回的是void 。则不能进行级联表示如下
var sb = StringBuffer();
sb.write('foo')
..write('bar'); // Error: method 'write' isn't defined for 'void'.
网友评论