これは初心者の質問ですが、ググってみましたが、答えが見つからないようです。
クラスの人がいるとしましょう:
class Person {
private String SSN;
//blah blah blah...
}
次に、サブクラス OldMan を作成します。
class OldMan inherits Person {
//codey stuff here...
public void setSSN(String newSSN) {
SSN = newSSN;
}
}
Person からプライベート フィールドを実際に変更できないようです。私は、OldMan が Person を継承したときに、それに属するプライベート変数の独自のコピーを持っているという印象を受けました。実際に何が起こっているかというと、OldMan オブジェクトを作成すると SSN フィールドが作成されますが、それはどういうわけか Person オブジェクトに属していますか??
SSN を保護するだけでよいことはわかっていますが、それはベスト プラクティスですか? ここで実際に何が起こっているのか、重要なフィールドへのアクセスを保護する親クラスを、子クラスから保護せずに作成するにはどうすればよいでしょうか?