繁体   English   中英

接口继承与类继承相结合

[英]Interface inheritance combined with class inheritance

我遇到了任务问题,我想请教一下。

我被告知要实现:IPerson接口基于IPerson IEmployee的Person类和扩展IPerson和Person的Employee

最后一句混乱,我不知道如何应对这些要求。 我有一个想法,我想让你验证,因为Person和Employee将使用List存储,然后:

IEmployee会扩展IPerson和Employee只是实现IEmployee吗? 或者除此之外,员工还应该扩展人员?

谢谢你回答这个问题!

所有员工都是员工,因此所有员工都实施了IEmployeeIPerson Employee类扩展了Person类。

public interface IPerson
{
}

public class Person : IPerson
{
}

public interface IEmployee : IPerson
{
}

public class Employee : Person, IEmployee
{
}

这就是你想要的:

public interface IPerson { }
public interface IEmployee : IPerson { }
public class Person : IPerson { }
public class Employee : Person, IEmployee { }

问题实际上是你应该在实现接口层次结构之前三思而后行......

您不希望强制接口实现类实现将不使用的方法,因此请考虑使用IEmployee作为参数的方法是否还需要所有 IPerson属性。 如果不是更好的定义只有所需属性的新接口。

这对应于SOLID原则的接口隔离

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM