如何保证类在 C# 中实现特定接口
本文关键字:实现 接口 何保证 | 更新日期: 2023-09-27 18:37:02
我想创建一个依赖于另一个接口功能的接口。例如,我正在制作:
interface IHealth {
}
interface IHealthBar {
}
附加IHealthBar
的实体需要IHealth
作为先决条件。如何在 C# 中声明它?
更新
继承不是这里的答案。运行状况栏依赖于来自运行状况的一条信息,而不是整个实现。 IHealth
有一个健康条,IHealthBar
不是健康。
从另一个接口派生/扩展,就像这样...
interface IHealthBar : IHealth {
}
作为旁注,您还可以在 C# 中对interfaces
进行多重继承,因此,如果您只想分解接口定义,则可以创建执行以下操作的类......
public class OnlyNeedHealth : IHealth {}
public class NeedHealthAndHealthBar : IHealth, IHealthBar {}
IHealth有一个健康条,IHealthBar不是健康。
好的,那就IHealth
有一个健康条
interface IHealth {
IHealthBar HealthBar {get;}
}
这使得IHealth
的任何实现者都有一个名为 IHealthBar
类型的属性HealthBar
的公共获取器,这取决于实现者他想要如何处理 setter。
public class Monster : IHealth
{
public Monster()
{
HealthBar = new MonserHealthBar();
}
public IHealthBar HealthBar {get; private set;}
}
使IHealthBar
派生自IHealth
:
public interface IHealth
{
}
public interface IHealthBar : IHealth
{
}
你可以让接口相互继承:
interface IHealthBar : IHealth
{
/// ...
}