接口

时间:2015-10-14 14:11:08

标签: c# linq oop inheritance polymorphism

我的任务是实现具有以下属性的接口IPerson和类Person:

Title 
Name 
DateOfBirth
Age 

实施一个继承自IDetails和类Details且具有以下属性的接口IPerson和类Person

Religion 
National Insurance Number 

我的问题是,如何为接口进行多重继承? IPerson如何从IDetails继承/派生?

1 个答案:

答案 0 :(得分:2)

技术上IDetails 扩展 IPerson,但从概念上讲,它与继承类似:

public interface IPerson
{
    string Title {get; set;}
    string Name {get; set;}
    int DoB {get; set;}
    int Age {get; set;}
}

public interface IDetails : IPerson
{
    int Religion {get; set;}
    int NationalInsuranceNumber {get; set;}
}

现在,任何实现 IDetails的类都必须为IDetails IPerson的所有成员提供实现。

示例实现如下:

public class PersonWithDetails : IDetails
{
    public string Title {get; set;}
    public string Name {get; set;}
    public int DoB {get; set;}
    public int Age {get; set;}

    public int Religion {get; set;}
    public int NationalInsuranceNumber {get; set;}

}

请注意,类可以实现多个接口,但只能从一个基类继承