次のクラスがあるとします。
public class BodyClass{
private LegClass myLeftLeg;
private LegClass myRightLeg;
private NoseClass myNose;
...
}
後でソフトウェア プログラムのどこかで、myRightLeg の単独のインスタンスを作成します。
では、このインスタンス変数が含まれているクラスは言うまでもなく、この rightleg がどの BodyClass オブジェクトに関係するのかを簡単に (またはまったく) わからないのはなぜでしょうか? コンポジション リレーションシップでは、実行時に親クラスに関する情報が自動的に子オブジェクトに格納されないのはなぜですか?
Java が各クラス変数に親クラス自体に関する情報を遅延ロードする世界はあり得ないのでしょうか?
なぜこれが悪いのでしょうか?そして、これはかなり確かな利点ではないでしょうか?
サブクラスはスーパークラスについて何も知らなくていい、インスタンス変数は親クラスについて何も知らなくていい、などと人々が言うのを耳にしますが、率直に言って、そうすべきではない理由がわかりません。
私の質問はこの質問に関連しています: