10月23日(木)2コマ目
今日、やったこと
クラス
- インスタンス生成
- メソッド
今日のホワイトボード
インスタンス生成
インスタンス生成とは、そのクラスに必要なエリアをメモリ上に確保すること。
確保したエリア内にフィールドやメソッドがあるイメージ。
※本当はメソッドは別のところにあるけど
![]() |
| 図 Timeクラスのインスタンス生成 |
上図のプログラムはそれぞれ以下を行っている。
Time tm;
Timeクラス型の変数tmを宣言。
メモリ上の空きエリアにtmでアクセスできるエリアが確保される。
なお、このエリアはTimeクラスに必要なサイズ(hourやminuteフィールド)ではない。
tm = new Time();
new Time()でTimeクラスのインスタンスが生成される。
インスタンス生成で、そのクラスに必要なサイズのエリアがメモリ上に確保される。
tmに代入されるのは、生成したTimeクラスのインスタンスへの参照情報。
変数tmはポインタ変数ということになる。
メソッド
クラスにはメソッドを作ることができる。
![]() |
| 図 メソッド |
Show()メソッドでアクセスしているhour、minuteは、同じインスタンス内のhourフィールド、minuteフィールド。
インスタンスを複数生成すると
下図の変数tm1が参照するTimeクラスのインスタンスと、変数tm2が参照するTimeクラスのインスタンスは別々。
それぞれのインスタンスのhour、minuteフィールドに代入されている値が異なるため、Show()メソッド実行結果も異なる。
![]() |
| 図 インスタンスを複数生成すると |
アクセス修飾子
いろいろあるが、同一クラス内からのみアクセス可のprivateと、どこからでもアクセス可のpublicだけ知っておいてください。
![]() |
| 図 アクセス修飾子 |
次回は
クラスのつづき。
- プロパティ
- コンストラクタ



