【发布时间】:2017-06-02 00:17:42
【问题描述】:
我有三个班级:CookedItem:ConsomableItem:Item
Item 实现了这个方法:
protected void Initialize(string name,TypeItem type) {...}
ConsomableItem 实现了这个方法:
protected void Initialize(float duration,string name,TypeItem type) {...}
现在这是我的问题。调用CookedItem 的正确方法是ConsomableItem.Initialize()。
我可以隐藏Item.Initialize()to only see the methodConsomableItem.Initialize()`方法吗?
我不能使用override,因为签名不同。
有什么建议吗?
【问题讨论】:
-
这是你应该使用构造函数的东西吗?
-
否 -
CookedItem是ConsomableItem和间接Item因此它拥有这两个功能的权利。 -
我不能使用构造函数,因为我正在使用 Unity 但感谢您的建议
标签: c# inheritance architecture overriding