继承诅咒

曾几何时,在一个并不遥远的王国中,有一个邪恶的女王。 她的名字叫NSObject。 为了好看,她正在给人们很多礼物。 但是她提供给他们的最大宝藏是代码重用。

这种代码重用是通过继承实现的。 多亏了这一点,女王才得以世代代代地控制着她所有的人民……

邪恶的女王控制着她的王国几十年,一天来了……一位敏捷的巫师。 他的名字叫克里斯托瓦尔(Christobal),但在澳大利亚他以the大师闻名。

巫师想在女王的王国旁边创建一个新的王国。

为此,他带来了不同种类的人:类,结构和枚举。

当女王得知他的计划时,她向巫师发出了诅咒。

幸运的是,向导很强大,只有类被继承诅咒所感染。

两国之间的战争持续了好几年,直到有一天……巫师离开了!

因此,现在是我们继续战斗并做到这一点的责任,让我们看看制胜法宝。

在向导王国中,出于多种原因,您可能需要使用那些受感染的类。 也许您使用UIKit,或者您想要引用类型,或者只是想重用一些代码。

如果使用UIKit,那注定要失败。 在某些时候,您将必须从其中一个UIKit类继承,这意味着您将必须从Queen中继承! 但是您可以通过使用final关键字来停止诅咒的传播。

您可能需要一个类,因为您需要引用类型而不是值类型,因此您可以拥有可以从不同位置访问的内容。 在这种情况下,您不必继承女王。 但是,您仍然必须再次使用final关键字来停止诅咒的传播。

最后,您可能正在使用一个类,以便您放入其中的代码可以在其子类中重用。 如果这是您正在做的,就停在这里! 在代码重用方面,还有许多其他工具可供您使用。

而且在几乎每种情况下,那些工具都会比继承更好。

总结一下:总是将您的课程标记为最终课程,或者…不要使用课程。

一起,让我们继续战斗邪恶的女王,直到我们摆脱继承诅咒!