子对象是否实现父类接口
本文关键字:父类 接口 实现 是否 对象 | 更新日期: 2023-09-27 18:13:03
这也许以前有人问过,但我找不到满意的答案:
我有一个名为 IRepository
的接口,它定义了很多通用方法,例如 Find<T>();
我有一个名为 RepositoryBase
的抽象类,它实现了此接口,提供这些方法的通用版本。
然后,我有一系列从该对象继承的对象,例如 PersonRepository
.
我的问题是:
PersonRepository 是 IRepository 类型的对象吗?
或者换句话说,这段代码会起作用吗?
IRepository repo = new PersonRepository();
是
由于PersonRepository
继承自RepositoryBase
,这是一个实现IRepository
的抽象类,所以PersonRepository
的实例也实现了IRepository
不合格的是。继承是一个单路径链。子类可以覆盖父类的功能,或者用自己的功能隐藏它,但不允许它们"取消实现"它。