我有两个接口:
interface IStudent
{
string Name { get; }
string EducationLevel { get; }
}
interface ITeacher
{
string Name { get; }
string Department { get; }
}
Run Code Online (Sandbox Code Playgroud)
你会如何在C#中设计它,以便一个对象可以
任何想法 ?
我可以做两个直接实现两个接口的类.但对于一个既是老师又是学生的人,我将有两个不同的对象:我只想要一个!
我会提取一个通用的界面:
interface IPerson
{
string Name { get; }
}
interface IStudent : IPerson
{
string EducationLevel { get; }
}
interface ITeacher : IPerson
{
string Department { get; }
}
Run Code Online (Sandbox Code Playgroud)
想想为什么你的两个接口具有相同的属性.他们都有名字,为什么他们有名字?因为他们都是一个人.所以你有你的共同界面.
实现两个接口的类只需要实现Name一次,因为它是一部分IPerson.