栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用构造函数“ className()和className ._()之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用构造函数“ className()和className ._()之间的区别

例如:

class MyClass {  MyClass();  MyClass.named();  MyClass._private();  MyClass._();}

上面的类有四个构造函数:

  • MyClass()
    :这是 默认的 未命名构造函数。在设计类时,您希望它表示人们 大多数 时候应该使用的构造函数。使用它更方便,因为它涉及较少的键入。
  • MyClass.named()
    :这是一个 命名 构造函数。也许您希望您的类具有多个构造函数,以便可以用不同的方式构造您的类的实例。Dart不支持重载函数,因此,如果需要多个构造函数,则它们需要不同的名称。因此,如果您需要多个构造函数,则需要命名其中一些以区分它们。即使您没有多个构造函数,您也可能想要一个显式名称以避免歧义。
  • MyClass._private()
    :在Dart中,以下划线开头的名称是 私有的 (通常是文件名)。
    MyClass._private()
    只是一个命名的构造函数,不能在其定义的源文件之外使用。通常,当类想要强制调用者使用公共工厂构造函数(或静态方法)来获取实例时,您会看到私有构造函数,尤其是当类希望有一个实例。
  • MyClass._()
    :等同于
    MyClass._private()
    。它 不是 默认的构造函数,而是一个私有的命名构造函数(即,调用者必须使用
    MyClass._()
    它来调用它)。在这种情况下,类作者想要一个私有构造函数,但又不想选择一个名称。(命名很难。)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号