是否可以使用继承将一个类“拆分”为多个文件?

时间:2012-03-15 03:11:31

标签: class inheritance coding-style

假设我有一个名为“Program”的类,其中包含我将只创建一个实例的整个程序。

现在这个类包含很多(代码的一半),例如购物功能(方法等)。

使用如上所述的一半代码创建名为“ProgramWithoutShopping”的类是可以的,然后将我的购物相关代码放在名为“Program”的类中,扩展“ProgramWithoutShopping”,而不使用任何其他的ProgrammWithoutShopping目的

我的目标是通过分离的功能和较小的文件来获得更好的概述。

有人是一个实际使用这种策略的大项目的例子吗?

PS:如果您要写“不要使用类”,您可以假设我的程序在一个需要它成为类的框架中运行。

1 个答案:

答案 0 :(得分:1)

您使用的是哪种语言? C#有一个部分关键字,对于这种情况也适用,不需要两个类。

要回答你的问题,让基类不直接做任何事情,但总体上是有用的是相当标准的。通常,这用于避免代码重复,但这不是严格的要求。

我会假设,2个课程足够吗?如果绝大多数代码库都在一个类中,那么即使有两个类,也会产生维护问题。

也许你可以将你的课程分成更精细的课程。例如,典型的OOP类集可能如下所示:

Customer
ShoppingCart
Item
Special
Payment
Order

这些只是数据对象,根据您的实现,您可能还可以封装一些算法,比如如何计算价格(尽管在这种情况下可以存在于Item中......)