在阅读了大量博客、论坛条目和几个 Apple 文档之后,我仍然不知道在 Objective-C 中进行大量子类化是否是明智之举。
以下面的案例为例:
假设我正在开发一个包含很多元素的益智游戏。所有这些元素都具有一定数量的相同行为。然后,在我的元素集合中,不同的元素组共享相同的行为,将组与组区分开来,等等......
所以,在确定什么从什么继承之后,我决定子类化。为什么我不应该? 考虑到使用此模型可以轻松调整一般行为,我认为我完成了面向对象编程的目标。
但是, - 这是我的问题的来源 - Apple 提到使用委托、数据源方法和非正式协议来支持子类化。这真的让我大吃一惊,为什么?
好像有两个阵营。那些支持子类化的,那些不支持的。这显然取决于个人口味。我想知道大规模子类化而不是大规模子类化的利弊是什么?
总结一下,我的问题很简单:我说的对吗?为什么或为什么不呢?