讀碼爲一個項目,我注意到了這個情況,有兩個類如下面的例子:OOD:代碼重構和最佳設計(保護或的getter/setter)
class A {
private class E aE;
private class F aF;
public A(){
aE = new E();
aF = new F();
}
public void foo1(){
aE.bar();
...
aF.poo();
}
}
class B implements Runnable {
private class E aE;
private class F aF;
public B(){
aE = new E();
aF = new F();
}
public void run(){
...
x = aE.bar()
...
}
}
我會重構這個代碼爲了得到一個超類A,但是沿着這種方式,最好在類A中使aE和aF保護字段,並在類B中使用它們,或者在類A中添加兩個方法getE()和getF(),並使用此方法在B班?