Javaの継承時の挙動について質問させて下さい。
機能Xで使用するParent Classを親クラスにして、
機能Yを作成するChild Classを実装します。
親クラスでprotected定義してある、グローバルなインスタンス変数やフィールドを、
子クラスで使用する際、機能Xが動いている時にParent Classが保持していなければならない
値や状態を、Child Class側の機能Yの処理が同時に走った時に、
書き換えてしまう可能性があるのでは??と不意に思い、調べています。
ソースは下記のようなイメージです。
例えば、親クラスでhogeEntityが何かの値を保持している時に(機能X)、
子クラスのmethodB()が実行された場合(機能Y)、
機能Xに影響してしまわないものか、という疑問です。
ご回答よろしくお願いします。
// 親クラス(機能X用に作成されたもの) public class Parent { private String fieldX = ""; protected String fieldA = ""; protected String fieldB = ""; protected DBConnection con = new DBConnection(); protected HogeEntity hogeEntity = new HogeEntity(); protected FugaEntity fugaEntity = new FugaEntity(); public int methodA(){ hogeEntity.setFieldA("ABC"); hogeEntity.setFieldB("DEF"); } : } // 子クラス(機能Y用に作成する) public class Child extends Parent { public int methodB(){ hogeEntity.setFieldA("value01"); hogeEntity.setFieldB("value02"); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/22 02:35 編集