子对象是否实现父类接口?

时间:2014-07-14 14:14:45

标签: c# object interface

之前可能已经提出这个问题,但我找不到满意的答案:

我有一个名为IRepository的界面,它定义了许多通用方法,例如Find<T>();

我有一个名为RepositoryBase的抽象类,它实现了这个接口,提供了这些方法的通用版本。

然后我有一系列继承自此对象的对象,例如PersonRepository

我的问题是:

PersonRepository是IRepository类型的对象吗?

或换句话说这个代码会起作用吗?

IRepository repo = new PersonRepository();

2 个答案:

答案 0 :(得分:0)

因为PersonRepository继承自RepositoryBase,这是一个实现IRepository的抽象类,所以PersonRepository的实例也实现了IRepository

答案 1 :(得分:0)

不合格是的。继承是一个单路径链。子类可以覆盖父类的功能,或者使用它们自己的功能隐藏它,但是不允许它们“实现”它。