10月27日(木)1コマ目
今日、やったこと
コンストラクタ
今日のホワイトボード
コンストラクタとは
一見、メソッド。でもメソッドではない。
[実行するには]
メソッドのように呼び出すことができない。インスタンス生成時に自動的に呼び出される。
[メソッド名は]
クラス名と同じにしなければならない。
[引数は]
可能。
[戻り値は]
なし。型指定もできない。voidも指定できない。
|
| 図 コンストラクタ |
|
| 図 コンストラクタの実行 |
コンストラクタを作ってみる
Time.cs
コンストラクタでメッセージを表示する。
Test.cs
Main()メソッドのあるクラス。Timeクラスのインスタンス生成時にコンストラクタが実行される。
上記プログラムを実行すると、
コンストラクタが実行されました
9時15分
と表示される。
コンストラクタでの処理
コンストラクタの一般的な利用として、プロパティの初期化があります。
Time.cs
Hour、Minuteプロパティをコンストラクタで初期化します。
Test.cs
ここでは生成したTimeクラスのインスタンのHour、Minuteプロパティを変更していません。
上記プログラムを実行すると、
コンストラクタが実行されました
10時20分
と表示される。コンストラクタで初期化された値が表示されます。
コンストラクタを複数定義する
同じクラス内に引数の数、型が異なれば複数のコンストラクタを定義できます。
|
| 図 コンストラクタを複数定義 |
|
| 図 コンストラクタの呼び分け |
Time.cs
引数なしと引数あり(int, int)の2つのコンストラクタを定義しています。
Test.cs
2つのコンストラクタはインスタンス生成時の()内の引数で呼び分けられます。
上記プログラムを実行すると、
引数なしコンストラクタが実行されました
10時20分
引数ありコンストラクタが実行されました
10時12分
と表示される。
次回は
コンストラクタの練習問題をやってもらいます。



