• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:abstractに関する質問)

Javaのオブジェクト指向で抽象クラスを使用する方法とアクセス方法について

このQ&Aのポイント
  • 現在Javaでオブジェクト指向を勉強しながらプログラムを組んでいる際に、抽象クラスの使用方法やアクセス方法について疑問が生じました。
  • 具体的な例を挙げながら説明します。抽象クラス「図形」を定義する際に、継承先のクラス「円」や「四角形」などを作成しますが、これらのクラスを他のクラス「紙」で利用する際にアクセス方法につまずいています。
  • 具体的には、紙クラス内で「a.r」というようなアクセスを行いたいのですが、うまくアクセスできない状況になっています。どのような方法を用いれば「a.r」のようなアクセスが可能になるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

a.r はできないわ。 理由は単純。 r は 図形クラス で定義されていないからよ。 もうちょっと噛み砕いて言うと 図形クラスはrの存在を知らないからよ。 これは別にabstractに限らないわ。 継承の親子関係は常にそう。 子で始めて実装したメソッド・変数は 親は知ることができないの。 どうしても a.r を実現したければ abstract class 図形 { public int r; } class 円 extends 図形 { } こうするべきね。

lain_003
質問者

お礼

お返事ありがとうございます。 <<図形クラスはrの存在を知らないからよ。 という言葉から明示的にキャストをすればいいと考えつき、キャストすることでrを会得することができました。ありがとうございました。

関連するQ&A