接口继承与类继承相结合
本文关键字:继承 相结合 接口 | 更新日期: 2023-09-27 18:17:47
我在完成一项任务时遇到了问题,我想征求一下建议。
我被告知要实现:IPerson接口基于IPerson的Person类IEmployee和Employee扩展IPerson和Person
最后一句被弄糊涂了,我不知道如何应付那个要求。我有一个想法,我希望它得到您的验证,因为Person和Employee将使用List存储:
IEmployee会扩展IPerson而Employee只是实现IEmployee吗?或者除此之外,Employee也应该扩展Person ?
谢谢你对这个问题的回答!
所有员工都是人,因此所有员工都实现了IEmployee
和IPerson
。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原则的接口隔离。