美文网首页
Flutter 之 构造函数和单例

Flutter 之 构造函数和单例

作者: SnoopPanda | 来源:发表于2020-06-14 11:28 被阅读0次
class Person {
  String name;
  num age;

  // 声明一个和类名相同的函数作为类的构造函数(与有名构造函数作对比,也被称作无名构造函数)
  // Point(num x, num y) {
  //   this.x = x;
  //   this.y = y;
  // }
  // 简写为
  Person(this.name, this.age);

  // 命名构造函数
  Person.fromMap(Map m) {
    name = m['name'];
    age = m['age'];
  }

  // 重定向构造函数,调用同一个类中的另外一个构造函数
  Person.withName(String name) : this(name, 0);
}

class Student extends Person {
  // 如果父类没有无名无参数的默认构造函数,子类必须手动调用一个父类构造函数(: super.xx)
  Student(String name, num age) : super(name, age);
}

class StaticPerson {
  final String name;

  // 常量构造函数,如果类生成从来不改变的对象,则可以把这些对象定义为编译器常量,使用const修饰构造函数
  const StaticPerson(this.name);
}

class Logger {
  final String name;
  bool mute = false;

  static final Map<String, Logger> _cache = <String, Logger>{};
  // 如果一个构造函数并不总是要创建新的对象(或从缓存中返回实例),可以用factory关键字修饰构造函数
  factory Logger(String name) {
    if (_cache.containsKey(name)) {
      return _cache[name];
    } else {
      final logger = Logger._internal(name);
      _cache[name] = logger;
      return logger;
    }
  }

  Logger._internal(this.name);

  void log(String msg)  {
    if(!mute) {
      print(msg);
    }
  }
}

class Manager {
  // 工厂模式
  factory Manager.shared() =>_getInstance();
  static Manager get instance => _getInstance();
  static Manager _instance;
  Manager._internal() {
    // 初始化
  }
  static Manager _getInstance() {
    _instance ??= Manager._internal();
    return _instance;
  }
}
// 调用
Manager manager = Manager.shared();

相关文章

  • Flutter 之 构造函数和单例

  • kotlin-5、类与对象

    创建空类 构造函数 调用构造函数 继承 接口 实现接口 data类 最简单的单例 自己实现单例

  • Kotlin带参数的单例

    单例包装类 使用如下 无参构造函数的单例模式

  • C++完美单例模式

    原始的单例模式 单例模式要做如下事情: 不能通过构造函数构造,否则就能够实例化多个。构造函数需要私有声明 保证只能...

  • JavaScript创建对象之原型模式

    一、原型基础 在之前的文章:《JavaScript创建对象之单例、工厂、构造函数模式》中详细介绍了构造函数模式创建...

  • Dart 中的单例模式

    单例类: 调用: TIPS : java 中的单例是需要将构造函数定义为私有,在dart中不提供默认构造函数,这一...

  • 常用设计模式

    1.构造函数 2.工厂模式 factory 3.单例模式 singleton 匿名函数 ==>lambda单例只返...

  • Dart类(构造函数、单例)

    Dart类(构造函数、单例) 构造函数 构造函数类型 默认构造函数类里面没有显示写构造函数,默认是一个隐式的无参构...

  • Flutter(五)工厂构造和单例

    感君一回顾,思君朝与暮。 <一>dart的工厂构造和单例 factory的官方描述:当你使用factory关键词时...

  • Flutter 6种构造函数详解

    Flutter有生成构造函数、默认构造函数、命名构造函数、重定向构造函数、常量构造函数、工厂构造函数 一.生成构造...

网友评论

      本文标题:Flutter 之 构造函数和单例

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