我对任务给出了问题,我想征求意见。
我被告知要实施: IPerson界面 基于IPerson的人类 IEmployee和Employee扩展IPerson和Person
最后一句混乱,我不知道如何应对这些要求。我有一个想法,我想让你验证,因为Person和Employee将使用List存储然后:
IEmployee是否会扩展IPerson和Employee才能实现IEmployee?或者除此之外,员工还应该扩展人员?
感谢您回答这个问题!
答案 0 :(得分:7)
所有员工都是员工,因此所有员工都实施IEmployee
和IPerson
。 Employee
类扩展了Person
类。
public interface IPerson
{
}
public class Person : IPerson
{
}
public interface IEmployee : IPerson
{
}
public class Employee : Person, IEmployee
{
}
答案 1 :(得分:2)
这就是你想要的:
public interface IPerson { }
public interface IEmployee : IPerson { }
public class Person : IPerson { }
public class Employee : Person, IEmployee { }
答案 2 :(得分:1)
问题实际上是在实现接口层次结构之前你应该三思而后......
您不希望强制接口实现类实现不使用的方法,因此请考虑使用IEmployee作为参数的方法是否还需要所有 IPerson属性。如果不是更好的定义只有所需属性的新接口。
这符合SOLID原则的Interface segregation。