在基类中访问子类属性的最佳方法是什么。似乎如果我使用继承,我只需要依赖方法而不是属性[因为单独的类存在单独的属性集]。是否有任何推荐的安全方式从基类访问子类属性。或者这是重构代码的任何首选方式,以便我可以通过基类访问子类成员。我知道虚函数的使用,但我不知道如何使用它来设置子类成员变量的值。
class Abc
{
public int Abc_1 {get;set;}
private int _abc;
virtual int DoCalculationonAbc(int a)
{
return abc_1 * a;
}
virtual void SetValueToPrivate(int a)
{
_abc = a;
}
}
class Def:Abc
{
private int _def;
private int _def2;
public int Def_2{get;set;} // what is the preferred way to set values this property
override public void SetValueToPrivate(int a)
{
_def = a;
//_def2 = ??
}
}
Main()
{
Abc ab = new Def();
}