シロウの日記

開発した物と,C#を入門者向けに解説した記事を書いています!

C# オブジェクト指向編 型推論 静的クラス Factoryクラス part2-☆3

calendar

reload

こんにちは!シロウです!

今回は型推論,静的クラス,匿名型,Factoryクラスについて紹介していきます!

型推論(var)

型推論は,右辺にある値,式から変数の型を推論することです.

var キーワードを使って次のように記述します.

例えば,次のように記述すると,

num変数はint型の変数だとコンパイラの方で判断します.

 

 

 

実行結果

 

GetTypeメソッドは,変数の型を返すメソッドです.

何度も言いますが,varは,右辺にある値,式から変数の型が推論できる場合のみ使用できるので注意してください.

 

静的クラス

静的クラス

静的クラスは,インスタンスを生成できないクラスです.

クラス変数,クラスメソッドと同じように,インスタンスを生成しなくても使用できるクラスです.

static 修飾子使って次のように記述します.

静的クラスのメンバ(フィールド,メソッド)は,全てstaticで宣言する必要があります.(全てクラス変数,クラスメソッドにする必要がある.)

 

 

 

実行結果

 

静的コンストラクタ

静的コンストラクタは,静的メンバを初期化するときに使われます.

また,静的クラスに限らず,通常のクラスでも宣言する事ができます.

静的コンストラクタが実行されるタイミングは,クラスが最初にアクセスされるタイミングです.(処理系によって異なるかもしれません.)

静的クラスと同様に,static 修飾子を使って次のように記述します.

静的コンストラクタは引数を渡す事ができないので,引数には何も入れる事ができません.

 

 

 

実行結果

 

Factoryクラス

インスタンスを生成するメソッドを持つクラスをFactoryクラスと呼びます

インスタンスを生成するメソッドとは,メソッドの戻り値がクラスの型で宣言されているメソッドです.

必ずしも,return時にnewでインスタンスを生成しなくてもいいです.

例えば,先にクラスの変数を作って,何らかの処理をして,その変数をreturnするというやり方もあります.

 

 

 

実行結果

 

今回は非常に小規模なプログラム為,あまり恩恵は感じられませんが,

この手法は結構使われるので,覚えておいて損はないです.

 

 

今回はここまで!

次回は,object型,プロパティ,匿名型について紹介していきます!