-1
我有一个关于面向对象编程的问题。 如果在子类中存在具有不同值的属性。它应该在超类中创建一个抽象访问器,然后在子类中重写它。或者在基类中创建一个受保护的实例变量,并在子类构造函数中分配默认值?覆盖访问器或赋值构造函数
让我们来看看代码示例代码:
选择1:
class BaseClass {
public abstract int GetFoo();
}
class SubClass {
public int GetFoo() {
return -1;
}
}
选择2:
class BaseClass {
protected int _foo;
public int GetFoo() {
return _foo;
}
}
class SubClass {
public SubClass() {
_foo = -1;
}
}
或者任何想法?