继承诅咒
曾几何时,在一个并不遥远的王国中,有一个邪恶的女王。 她的名字叫NSObject。 为了好看,她正在给人们很多礼物。 但是她提供给他们的最大宝藏是代码重用。
这种代码重用是通过继承实现的。 多亏了这一点,女王才得以世代代代地控制着她所有的人民……
邪恶的女王控制着她的王国几十年,一天来了……一位敏捷的巫师。 他的名字叫克里斯托瓦尔(Christobal),但在澳大利亚他以the大师闻名。
巫师想在女王的王国旁边创建一个新的王国。
为此,他带来了不同种类的人:类,结构和枚举。
当女王得知他的计划时,她向巫师发出了诅咒。
幸运的是,向导很强大,只有类被继承诅咒所感染。
两国之间的战争持续了好几年,直到有一天……巫师离开了!
因此,现在是我们继续战斗并做到这一点的责任,让我们看看制胜法宝。
在向导王国中,出于多种原因,您可能需要使用那些受感染的类。 也许您使用UIKit,或者您想要引用类型,或者只是想重用一些代码。
如果使用UIKit,那注定要失败。 在某些时候,您将必须从其中一个UIKit类继承,这意味着您将必须从Queen中继承! 但是您可以通过使用final关键字来停止诅咒的传播。
您可能需要一个类,因为您需要引用类型而不是值类型,因此您可以拥有可以从不同位置访问的内容。 在这种情况下,您不必继承女王。 但是,您仍然必须再次使用final关键字来停止诅咒的传播。
最后,您可能正在使用一个类,以便您放入其中的代码可以在其子类中重用。 如果这是您正在做的,就停在这里! 在代码重用方面,还有许多其他工具可供您使用。
而且在几乎每种情况下,那些工具都会比继承更好。
总结一下:总是将您的课程标记为最终课程,或者…不要使用课程。
一起,让我们继续战斗邪恶的女王,直到我们摆脱继承诅咒!