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分                
と表示される。

次回は

コンストラクタの練習問題をやってもらいます。

このブログの人気の投稿

10月3日(木)1コマ目

10月14日(金)1、2コマ目