我知道这可能是个人喜好,但通常有正常的编程习惯。所以我想知道如果我创建了一个类和一个子类,它们会放在单独的文件中还是同一个文件中?我说的是与objective-c有关,但也是一般而言的。谢谢。
2 回答
你不必这样做,但一般来说,是的。在同一个文件中保留一个子类将是该规则的例外。
首先,您不应该只是将大量代码堆积到一个文件中。保持简单,以便在您稍后回顾它们或其他人必须查看您的代码以维护它时更容易理解它们。
但是如果这两个类非常简单,以至于你认为可以将所有代码放在一个文件中,并且仍然足够简单易懂,那么你确定需要将原始类子类化吗?为什么要继承而不是扩展原始类?
此外,如果您稍后决定要添加更多子类怎么办。例如,具有Vehicle
类的文件可能非常简单。然后你将它子类化并创建Car
类并认为它仍然很简单,所以我将它保存在同一个文件中。但是,当您决定向Vehicle
、 和 等Plane
添加更多子类时会发生什么Boat
。带有Vehicle
, Car
,Plane
和的文件Boat
绝对不是正确的方法。还有一个设置,它Vehicle
和它的子类Car
在同一个文件中,但Vehicle's
其他子类,Plane
并且Boat
在它们自己的文件中?现在这令人困惑。
将类放在单独的文件中的主要原因是强制关注点分离。通过防止意外使用私有实现细节,您可以更容易地做出诸如“只有这个类知道这个代码/数据,因此我可以自由地改变它,只要我确保这个类的接口仍然表现得很好一样的方法”。
然后,您的文件的边界与您在任何给定时刻必须记住的内容的边界相匹配,并且#import'ed @interfaces 形成了隔离区域之间的连接。