【问题标题】:Is this a Dart Constructor? [duplicate]这是 Dart 构造函数吗? [复制]
【发布时间】:2022-01-09 23:46:00
【问题描述】:

我还在习惯 Dart 并且我已经搜索过这个问题的答案,但我还没有找到答案。类定义的第二行“ClassA._();”有什么作用?列表声明只是为了给类一个存在的理由。

class ClassA {   
   ClassA._();   
   static final List<String> someList = ["A", "B", "C"]; 
}

如果它是一个构造函数,它将如何被调用? 在做了更多的调查之后,我看到它创建了一个单例。但是单例是什么时候创建的呢?有没有办法在实例化之前制作一些模组?

提前感谢您提供的任何帮助。

【问题讨论】:

    标签: dart constructor pipeline codemagic


    【解决方案1】:
    ClassA._();
    

    是一个名为_ 的命名构造函数。在飞镖中,identifiers that start with underscore (_) are only visible inside the library it is contained in

    您以这种方式定义一个类的原因是您想阻止人们创建该类的实例。

    【讨论】:

    • mmcdon20,谢谢您的回复。这就说得通了。语法很简洁。
    • Dart 没有像 privateprotected 这样的关键字,而是在标识符中使用前导下划线来控制可见性。与其他语言相比,它有点不寻常,因此在阅读 dart 代码时要牢记这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2020-05-17
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多