flutter之级联表示法(..)

2019-03-26  本文已影响0人  充满活力的早晨

前面的文章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'.
上一篇 下一篇

猜你喜欢

热点阅读