gpt4 book ai didi

objective-c - 使用 C 函数而不是静态方法来使纯函数成为糟糕的设计吗?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:50 30 4
gpt4 key购买 nike

如果我正在实现一个函数,该函数根据特定输入进行一些计算并返回输出而不会造成任何副作用。

我总是使用常规 C 函数而不是在类中使用静态方法。

使用强行放入类中的静态方法背后是否有理由?

我不是在谈论创建单例或工厂方法的方法,而是像那里的常规方法:

而不是像这样:

+(NSString *)generateStringFromPrefixString:(NSString *)prefixString word:(NSString *)word;

这样不是更好吗?

NSString *generateString(NSString *prefixString, NSString *word);

同样在效率方面,我们不会节省查找选择器以获得函数指针吗?

最佳答案

Objective-C 没有“静态方法”这样的东西。它有类方法。这不仅仅是挑剔,因为类方法是动态分配的,而不是静态分配的。这可能是使用类方法而不是函数的原因之一:它允许子类覆盖它。

相比之下,这也可能是使用函数而不是类方法的原因——以防止它被覆盖。

但是,一般来说,没有规定必须使用类方法。如果某个功能适合您的需要和偏好,请使用该功能。

关于objective-c - 使用 C 函数而不是静态方法来使纯函数成为糟糕的设计吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17760673/

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