gpt4 book ai didi

flutter - 静态方法和函数的优点和缺点

转载 作者:IT王子 更新时间:2023-10-29 06:42:37 25 4
gpt4 key购买 nike

我知道函数独立于任何类,静态方法 附加到类。看起来他们两个都达到了同样的效果。这让我想到了以下问题:它们的优点和缺点是什么?

我想为离线 PIN 配置创建一组函数,如 setPinchangePinverifyPin。我是否必须将它们作为静态方法包装在一个类中,或者我是否可以将它们创建为 Dart 文件中的函数?

最佳答案

静态方法与函数之间没有明确“优点和缺点”。

正如您正确指出的那样,唯一的区别是静态成员连接到一个类。

class A {
static bool b() => false;
}

bool c() => true;

这里唯一的区别是您需要通过 A.b 访问静态成员,而 c 可以直接访问。

静态方法甚至不被继承,这意味着 class B extends A{}允许您使用B.b 因为 b A 的静态成员。

话虽如此,@jamesdlin指出了一篇用于编写良好的 Dart 设计的文章。 This article描述了您应该避免创建仅包含静态成员的类,并将其称为糟糕的设计,即不是惯用的 Dart:

In idiomatic Dart, classes define kinds of objects. A type that is never instantiated is a code smell.

回到您的问题,如果根据 Dart 团队的文章,根据惯用的 Dart 设计,您可能应该将函数创建为顶级函数,如果它们不是对象的一部分。

但是,您可能会考虑更改存储“PIN 配置”的方式,因为这听起来将此信息存储为对象是最理想的。

关于flutter - 静态方法和函数的优点和缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56336791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com