• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:コンポジションについて)

コンポジションについて

このQ&Aのポイント
  • コンストラクタと継承を使用せずにPersonクラスとそれを拡張したStudentクラスを表すプログラムの作成方法
  • 初心者向けの解決方法をご紹介します
  • コンポジションを利用して、name_とage_を持つPersonオブジェクトをStudentクラス内で使用する方法について説明します

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

  • ベストアンサー
  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

よく解りませんが、 とりあえず、コンパイル実行できるようにしました。 class Person { public String name_; public int age_; public Person() { name_ = "Asaya"; age_ = 61; } } class Student { public Person person_; public int grade_; public Student() { person_ = new Person(); person_.name_ = "Moto"; person_.age_ = 2; grade_ = 0; } } public class goo_test13 { public static void main(String[] args) { Student asaya_= new Student(); System.out.println(asaya_.person_.name_+" "+asaya_.person_.age_+" "+asaya_.grade_); } } 実行結果 Moto 2 0 作り方にもよるのですけど、 class Person、class Student はpublicを外しています。 一つのJavaファイルに書くと、外さないとエラーになります。

PHYOPHYO
質問者

お礼

ご回答ありがとうございました。引数のないコンストラクタでは分りましたが、今度は引数がある場合のコンポジションについて考えて見ましたが分りませんので、今度は引数がある場合について投稿しました。解決できましたらご回答願います。 ありがとうございました。

関連するQ&A