接口 - 在基类中定义的属性

时间:2015-01-09 16:58:54

标签: c# oop

我可以保证从 ICharacter 界面派生的所有类也将继承自 MonoBehaviour 类。 MonoBehaviour 类具有转换属性。

然而,以下显然失败了,因为界面没有实现转换属性:

ICharacter character;
var t = character.transform;

是否可以进行上述工作,而不会创建另一个将继承自 MonoBehaviour 的父类(即MyCharacter:Character:MonoBehaviour)?我尝试将 transform 属性添加到接口,但它会隐藏父类的属性。

基本上我需要以某种方式使用接口调用基类的属性。

为我的角色制作基类似乎是可行的,但我无法保证可以从同一个角色类继承所有这些角色。但是,所有这些都将100%继承自 MonoBehaviour 类。

1 个答案:

答案 0 :(得分:8)

如果您希望所有ICharacter类型都有transform成员,那么该应该位于界面中。

当一个类型实现一个接口而一个基类有一个合适的成员时,该成员不需要重新实现;基类成员可以绑定到接口。

此外,如果需要提供仅通过接口公开的实现,则可以显式实现接口。