美文网首页初见
flutter-之构造函数2020-03-22

flutter-之构造函数2020-03-22

作者: 菩提_ | 来源:发表于2020-03-22 20:14 被阅读0次

所谓一步一个脚印,以前学习东西总是模棱两可,这次解决了下次可能再遇到类似的问题总是会出现一些问题 现在开始就要学会追根究底,现在总不能看表面

注意点:看了些资料关于构造函数自己也总结了一下:

1.子类的构造函数必须调用父类构造函数,子类的默认构造函数调用父类的默认构造函数 ,子类的命名构造函数有两种调用方式,一种是默认调用父类的未命名无参数构造函数,另一种是指定调用父类的构造函数

2.子类不可以继成父类的构造函数

3.若父类只有命名构造函数,那么子类必须指定父类命名构造函数,因为父类没有实现默认构造函数,子类如果没有指定调用父类构造函数,子类会默认调用父类的默认构造函数,而父类没有实现 就会报错!!!

在使用继承类最好先实现默认构造函数,这样子类不会出现莫名的错误

以下是构造函数的种类:

1.默认构造函数(未命名无参数的构造函数),子类没有实现构造函数,则会自动生成一个默认构造函数,并且会默认调用父类的默认构造函数

2.命名构造函数,

     A.xxx(){},关于调用父类的构造函数,这里是默认调用父类的默认构造函数

A.xxx():super(type typename){}这里是指定调用父类的构造函数

3.重定向构造函数 A.xxx():this(type typename){}

4.常量构造函数:如果你的类需要成为永远不会更改的对象,则可以使这些对象成为编译时常量。 定义const构造函数要确保该类的所有实例变量都是final。父类中有常量构造函数,则子类可不含有常量构造函数

5.工厂构造函数

在实现不用总是创建新的类对象的时候,可以使用factory关键字。 例如,工厂构造函数可能从缓存中返回实例,或者它可能返回子类型的实例:

class Logger {

  final String name;

  bool mute = false;

  //工厂构造函数无法访问this,所以这里要用static

  //维护一个缓存的Map对象,

  static final Map<String, Logger> _cache =

      <String, Logger>{};

//调用该构造函数的时候,会从Map中取出对象

  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);

  }

}

//调用

var logger = Logger('UI');

logger.log('Button clicked');

相关文章

  • flutter-之构造函数2020-03-22

    所谓一步一个脚印,以前学习东西总是模棱两可,这次解决了下次可能再遇到类似的问题总是会出现一些问题 现在开始就要学会...

  • 九月十六

    PHP类和对象之构造函数和析构函数 PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数...

  • Draw学习(3)

    Path特效之PathMeasure, 构造函数: 无参数的构造函数:PathMeasure() 创建一个Path...

  • Flutter 6种构造函数详解

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

  • C# 构造函数总结

    构造函数 构造函数分为:实例构造函数,静态构造函数,私有构造函数。 实例构造函数 1、构造函数的名字与类名相同。 ...

  • javascript构造函数之稳妥构造函数

    所谓稳妥对象, 指的是没有公共属性, 而且其方法也不引用this的对象。稳妥对象函数遵循与寄生构造函数类似的模式,...

  • Swift之构造函数(重写构造函数)

    构造函数的基础 构造函数是一种特殊的函数 主要用来在创建对象时初始化对象 为对象成员变量设置初始值 在OC中的构造...

  • Swift 2 学习笔记 11.结构体

    课程来自慕课网liuyubobobo老师 结构体 结构体基础 结构体之构造函数 结构体之可失败的构造函数 在结构体...

  • this-原型

    构造函数 概念 每一个对象都有与之对应的构造函数 一个构造函数可以对应好多个对象 构造是对一类对象的描述 JS的构...

  • 构造代码块&对象创建流程

    构造函数与构造代码块构造代码块:给所有对象初始化构造函数:只给对应的对象初始化 成员变量的显示初始化在构造代码块之...

网友评论

    本文标题:flutter-之构造函数2020-03-22

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