gpt4 book ai didi

c# - 继承与不同的实例?

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:43 24 4
gpt4 key购买 nike

如果我要为各种品牌的汽车建模,我会使用继承层次结构,还是只使用不同的构造函数参数?

关于是使用继承还是仅通过重复使用相同的类来关联对象的一般规则是什么?

对于汽车,我可以做一些像 new Car("Porsche","991","3.8") 这样的事情,或者我可以有一个整体抽象的 Car 父类(super class),带有抽象的子类制造商,如“Porsche”,然后可能是一个类保时捷的每个型号?

最佳答案

如果您有一些由所有汽车共享的属性(或作用于该对象的方法),然后为每个制造商/模型提供独特的属性(或方法),那么您会想要使用继承。否则,只需改变实例即可。

假设您想要所有汽车的这些属性:

  • 制作
  • 模型
  • 年份
  • 门数

在这种情况下,您不想创建类层次结构,因为它不会给您带来任何好处。

相反,如果您有两种“类型”的汽车:普通汽车和赛车,并且只有赛车可以启用一氧化二氮(大概是执行此操作的方法),您需要一个 Car 类,其中包含 RegularCar和 RaceCar 继承自它。

如果您只是害怕必须一直将相同的参数传递给您的构造函数,您可以创建代表您调用构造函数的静态方法。这被称为 Factory method pattern .

PS:我的例子真的只是从我的脑海中浮现出来。但我希望你能理解我想说的话:)

关于c# - 继承与不同的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com