トップページ > プログラム > 2016年12月29日 > 30kHN7oe

書き込み順位&時間帯一覧

21 位/172 ID中時間01234567891011121314151617181920212223Total
書き込み数0100000000000000000001002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
★★Java質問・相談スレッド179★★ [無断転載禁止]©2ch.net

書き込みレス一覧

★★Java質問・相談スレッド179★★ [無断転載禁止]©2ch.net
360 :デフォルトの名無しさん[sage]:2016/12/29(木) 01:59:20.86 ID:30kHN7oe
単なる定数に、インタフェースの名前空間を使って、区別しているだけ

元々、インタフェースにフィールド(メンバ変数)は持てない。
関数の実装も持てない。
つまり、メモリを割り当てるようなものは持てない

インタフェースとは単なる、マーカー・決め事。
実装先で関数を実装するという、ルールを強制する仕組み
★★Java質問・相談スレッド179★★ [無断転載禁止]©2ch.net
368 :デフォルトの名無しさん[sage]:2016/12/29(木) 21:51:19.05 ID:30kHN7oe
C++では、多重継承・ダイヤモンド継承がある

P ← A
P ← B

親クラスPを継承したクラス、A, B を同時に継承すると、
Pのメンバ変数の部分が、2重に確保される

P.x があるとき、A.x, B.x でアクセスすると、異なるメンバ変数になってしまう。
結局、多重継承はややこしいから、多くの言語で禁止された

インタフェースでは、メンバ変数を持たないから、こういう問題は起きない


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。