接口的多重继承

本文关键字:多重继承 接口 | 更新日期: 2023-09-27 18:17:52

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

Title 
Name 
DateOfBirth
Age 

实现接口IDetails和类Details,继承IPerson和类Person,具有以下属性:

Religion 
National Insurance Number 

我的问题是,如何为接口做多重继承?IPerson如何继承/派生idetail ?

接口的多重继承

技术上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;}
}

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