【发布时间】:2019-12-30 04:40:40
【问题描述】:
class HeroClass
{
skill1
skill2
}
class Batman : HeroClass
{
skill3
skill4
}
class Robin : HeroClass
{
skill3
skill4
skill5
}
我是编程初学者。 我想制作一个可以容纳不同类型对象的列表。
如果我创建HeroClass 类型的列表,我将无法访问对象类型Batman 或Robin 的特定属性
如何做到这一点?
另一个问题:如您所见,蝙蝠侠和罗宾类具有相同的属性(3/4),让“罗宾”从“蝙蝠侠”类继承会更好吗?这些属性是完全一样的(多态性没有任何意义)如果类具有完全相同的属性,这是一种代码味道吗?
非常感谢!!
【问题讨论】:
-
您将相同的属性放入 HeroClass 基类中,如果您不想这样做,可以将您的 batmanHero 对象转换为
((Batman)batmanHero).MySuperpower以访问道具
标签: c# inheritance interface polymorphism