当前位置: 首页 > 知识库问答 >
问题:

OOP:如果两个子类只在一个属性值上不同,我应该创建两个类还是一个父类和两个子类?

西门经国
2023-03-14

让我们假设我有一辆只有颜色和价格属性的普通车。价格取决于汽车的颜色。

由于汽车物体只会在颜色和相应的价格上有所不同,我应该只创建两个类,还是创建一个超类和两个子类更好,每个超类和两个子类都有自己的计算价格的方法?

共有2个答案

沙靖琪
2023-03-14

最好创建一个超类,然后将其继承到其他类,因为这比创建两个类更容易,因为你不必重复代码,这样做是一个糟糕的做法。

希望对你有帮助:)

钱震博
2023-03-14

取决于你感觉如何舒适,但你应该考虑也许你会有另一辆车,它将有一个不同的引擎,所以我的选择是创造一个超类,但我告诉它取决于你感觉如何舒适。

 类似资料:
  • 我使用一个Android库,它要求我创建两个类,每个类继承自不同的类 (具有公共基类) 现在我有这个代码: 我必须复制这个类来创建一个扩展,即使我的两个类共享完全相同的代码。 我简化了示例的代码,但重复可能很重要 我决定将代码放在这两个类之外的静态方法中,并在类重写的方法中调用它们,但我认为必须有一种更干净的方法来做到这一点。 你能帮我解决这个问题吗? 和都继承自。

  • 显然,在示例中,我将它们设置为字符串属性,但实际上它们是其他类型的。 注意:Object1和Object2实际上是从SOAP服务器所需的XML模型生成的类。所以我不能修改它们。 在我的代码中,我必须访问Object1或Object2的'name'属性,这取决于不同的因素。这个点是一个事件处理程序,所以在某一时刻,它捕获一个用Object1调用的事件,而在其他时间,它捕获一个用Object2调用的事

  • 问题内容: 我在这里做错了什么? 我有一个 ,但在第一个上我想在顶部填充零,在第二个上我想没有底部边框。 我尝试为此首先和最后创建类,但我认为在某处错了: 和HTML 我猜不可能有两个不同的课程吗?如果可以,我该怎么做? 问题答案: 如果要在一个元素上使用两个类,请按以下方式进行操作: 像这样在css中引用它:

  • 我正在尝试使用RSA 7.5和Websphere 7服务器开发IBM JAX_WS web服务。因为我是初学者,所以我遵循Java类优先的方法,即首先创建Java类,然后生成WSDL文件。 当我尝试创建wsdl文件时,我得到一个异常: JAVA安全PrivilegedActionException:com。太阳xml。内部的绑定v2。运行时。IllegalAnnotationsException:

  • 我在玩 和类型< code>Z 显然,< code>Z的大小必须至少为< code>2,因为< code>e1和< code>e2的类型相同。 但是,我真的希望< code>Z的大小为< code>1。这让我想到,如何用额外的模板参数将< code>Empty包装在某个包装类中,以强制执行不同类型的< code>e1和< code>e2。 不幸的是,。有没有一个技巧可以使的大小成为一个? 我正在使

  • 我需要传递两种不同的数据类型,一种是食物对象,另一种是整数。 我将这些作为食物对象及其各自的数量传递给餐馆类方法来准备订单。我应该用这些属性创建另一个类,还是有其他方法?