C#をつつく13ーコンストラクタ。うっかりミスを防ごう。2008-06-20 Fri 09:14
いきなり問題です。今回は何をするでしょうか?
チッチッチチッチッチチッチッチチッチッチチッチッチチッチッチ 継承?残念、まだやることがあるよ。 前回の最後のサンプルプログラムの一部を見てみよう。
どう?何か気付かない?もっとおかしな点を狭めてみてみよう。Bird b = new Bird( ); b.Name = "インドリ"; b.Age = 29; b.Name = "ドリィちゃん"; b.Age = -20;一々名前と年齢を指定するなんて凄く面倒だよね。 だから・・・ Bird b = new Bird( "インドリ", 29 );って変数を作る際に指定できれば便利だし、 名前と年齢の値の指定忘れを防げるよね。 勿論、プログラム言語を作った偉い人はその方法を用意しているよ。 それがコンストラクタなんだ。 では、さっそくコンストラクタを作ってみよう。
Birdクラスのコードをこう変えてコンパイルしてみよう。すると・・・引数を '0' 個指定できる、メソッド 'Bird' のオーバーロードはありません。 とエラーが出るよね。これでいいんだ。 こうすることにより名前と年齢を指定し忘れる事がなくなるピヨ。 鳥頭のボクには最適な機能だね。こうすると使用するプログラムは次の様になるよ。
コンストラクタの部分はこれでお終い。でもひとつ注意があるピヨ。それは・・・コンストラクタは必要最低限定義しよう ということピヨ。コンストラクタを覚えたての頃は嬉しくて「よーし全部のプロパティを指定できるコンストラクタを作るぞ!」 と思ってしまうかもしれない。だけど、コンストラクタはあくまでも 絶対必要なものだけを指定するものなんだ。 注意してね。 |
この記事のコメント |
コメントの投稿 |
||
|
|
||
| 管理者だけに閲覧 | ||
|
|
||
この記事のトラックバック |
|
| 無差別に技術をついばむ鳥 |
|