美文网首页
Flutter(五)工厂构造和单例

Flutter(五)工厂构造和单例

作者: 学_iOS | 来源:发表于2021-12-08 17:18 被阅读0次

    感君一回顾,思君朝与暮。

    <一>dart的工厂构造和单例

    • factory的官方描述:当你使用factory关键词时,你能控制在使用构造函数时,并不总是创建一个新的该类的对象,比如它可能会从缓存中返回一个已有的实例,或者是返回子类的实例。
      值得注意的是:构造函数不能有返回值,而factory必须有
      ///类
      class FactoryClass {
      static FactoryClass? _instance;
      // 单例构造方法
      // factory FactoryClass() {
      //   if(_instance == null) {
      //     _instance = FactoryClass._init();
      //   }
      //   return _instance!;
      // }
      
      // 简化
      // factory FactoryClass() {
      //   return _instance ??= FactoryClass._init();
      // }
      
      // 二次简化
      factory FactoryClass() => _instance ??= FactoryClass._init();
      
      // 私有的命名构造函数
      FactoryClass._init();
      }
      

    <二>初始化列表

    • 初始化列表的目的:给final变量赋值,校验传递参数的正确性。
      class person {
      
      final String _name;//私有属性
      int age;
      num height;
      
      person(String name,this.age,this.height):_name = name,assert 
      (age>0),assert(height>180){
      
      print('name:$_name\nage::$age,\nnum:$height');
      }
      void printAction(){
      print('name:$_name\nage::$age,\nnum:$height');
      }
      }
      
    • 我们定义一个类,我们私有属性不想暴漏的话,我们可以自定义一个行参,之后赋值给私有属性,我们也可以校验参数传递的正确性,如果参数条件不满足的话就会报错

    相关文章

      网友评论

          本文标题:Flutter(五)工厂构造和单例

          本文链接:https://www.haomeiwen.com/subject/oodtfrtx.html