接口 - 属性 在基础 class 中定义

Interfaces - property defined in a base class

我可以保证所有从我的 ICharacter 接口派生的 classes 也将继承自 MonoBehaviour class. MonoBehaviour class 有一个 属性 transform.

然而下面显然失败了,因为接口没有实现 transform 属性:

ICharacter character;
var t = character.transform;

是否可以在不创建另一个继承自 MonoBehaviour(即 MyCharacter : Character : MonoBehaviour)的父项 class 的情况下完成上述工作?我尝试向界面添加 transform 属性,但它随后隐藏了父 class.

的 属性

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

为我的角色制作一个基础 class 似乎是可行的,但我不能保证可以从同一个 角色 [=41] 继承所有这些角色=].然而,所有这些都将 100% 继承自 MonoBehaviour class.

如果您希望所有 ICharacter 类型都有一个 transform 成员,那么它应该在接口中。

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

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