在 swift 中,如果多个类共有多个函数,而这些类之间的继承不可行,最佳实践是什么?
我是编程新手,所以请不要居高临下。就在几个月前我刚开始学习的时候,有人告诉我重复代码是一种糟糕的做法,当时我正在用 Ruby 编写代码,我可以在其中创建一个包含所有功能的模块,然后只需将模块包含在任何我想在其中使用这些功能的类。只要模块函数中的所有变量都在类中声明,代码就可以工作。
swift 中是否有类似的做法,或者我应该做一些其他事情,比如制作一堆全局函数并将实例变量传递给这些函数?请尽可能具体,因为我将按照您的建议快速编写所有代码,谢谢!
最佳答案
你的问题的简单答案是协议(protocol)
定义协议(protocol)
protocol ProtocolName {
/* common functions */
func echoTestString()
}
extension ProtocolName {
/* default implementation */
func echoTestString() {
print("default string")
}
}
符合默认实现协议(protocol)的类
class ClassName: ProtocolName {
}
ClassName().echoTestString() // default string
符合重载实现协议(protocol)的类
class AnotherClass: ProtocolName {
func echoTestString() {
print("my string")
}
}
AnotherClass().echoTestString() // my string
关于swift - 在类之间使用相同函数的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40808028/