我有一个抽象类,AbsClass实现了一个接口,IClass.IClass有几个属性,只有Get访问器.AbsClass实现的属性ICLASS为抽象属性,以在从派生的类中定义AbsClass.
因此,从AbsClass派生的所有类也需要通过与Get访问器具有相同的属性来满足IClass.但是,在某些情况下,我希望能够从IClass向属性添加set访问器.然而,如果我尝试使用set访问器覆盖AbsClass中的抽象属性,我会收到此错误
ConcClassA.Bottom.Set无法覆盖,因为AbsClass.Bottom没有可覆盖的set访问器
请参阅下面的ConcClassA.
如果我有一个只实现IClass接口但没有继承自AbsClass的类,那么我可以添加一个没有问题的set访问器.请参阅 下面的ConcClassB.
我可以在AbsClass的每个派生中实现IClass,而不是直接为AbsClass实现.但是我从我的设计中知道每个AbsClass也需要一个IClass,所以我宁愿在层次结构中指定更高的值.
public interface IClass
{
double Top
{
get;
}
double Bottom
{
get;
}
}
abstract class AbsClass:IClass
{
public abstract double Top
{
get;
}
public abstract double Bottom
{
get;
}
}
class ConcClassA : AbsClass
{
public override double Top
{
get …Run Code Online (Sandbox Code Playgroud)