C#の静的クラス(static class)とは?特徴と使い方を実例で解説
C#における静的クラス(static class)は、インスタンス化できない特殊なクラスです。静的クラスには静的メンバーのみを持たせることができ、インスタンスメンバーを定義することはできません。
また、静的クラスは自動的にシールクラス(sealed)として扱われるため、継承することもできません。さらに、インスタンスコンストラクターを含めることはできませんが、静的コンストラクターを定義することは可能です。
静的クラスの主な特徴
- newキーワードによるインスタンス化ができない
- 静的メンバー(staticメンバー)のみを持つことができる
- 暗黙的にsealedとして扱われ、継承できない
- インスタンスコンストラクターは定義できない
静的クラスの使用例
以下は、静的クラスと静的メンバーを使用したサンプルプログラムです。
using System;
public static class Demo {
public static float PI = 3.14f;
public static int calc(int n){return n*n;}
}
class Program {
public static void Main(string[] args) {
Console.WriteLine("PI: "+Demo.PI);
Console.WriteLine("Square: " + Demo.calc(3));
}
}実行結果
PI: 3.14 Square: 9
コードの解説
上記の例では、まず静的クラス「Demo」を定義しています。
public static class Demo {
public static float PI = 3.14f;
public static int calc(int n){return n*n;}
}このクラスには、次の2つの静的メンバーが含まれています。
public static float PI = 3.14f;
public static int calc(int n){return n*n;}1つ目は円周率の値を保持する静的フィールド「PI」、2つ目は引数の2乗を返す静的メソッド「calc」です。Mainメソッド内では、インスタンスを作成することなく、「Demo.PI」や「Demo.calc(3)」のようにクラス名を使って直接アクセスしている点に注目してください。
まとめ
静的クラスは、ユーティリティメソッドや定数など、インスタンスの状態に依存しない機能をまとめるのに適しています。Mathクラスのような標準ライブラリでも同様の設計が採用されており、適切に活用することでコードの可読性と保守性を高めることができます。
-
C#のConvertクラスを使ったデータ型変換の基本と実例
C#のConvertクラスには、基本データ型を別の基本データ型へ変換するためのメソッドが多数用意されています。この記事では、代表的な変換メソッドであるConvert.ToBoolean()、Convert.ToDouble()、Convert.ToDecimal()の使い方を、構文・サンプルコード・実行結果とあわせてわかりやすく解説します。 Convert.ToBoolean()メソッドとは Convert.ToBoolean()メソッドは、指定した値を等価なBoolean(真偽値)に変換します。文字列「true」や「false」をbool型に変換したい場合などに利用されます。 構文 pu
-
C#のConsoleクラスとは?主要プロパティの使い方を実例付きで解説
C#のConsoleクラスは、コンソールアプリケーションにおける標準入力・標準出力・標準エラー出力の各ストリームを表すクラスです。テキストの表示や入力の読み取りだけでなく、文字色や背景色の変更、カーソル位置やサイズの制御など、コンソール操作に関するさまざまな機能が提供されています。ここでは、Consoleクラスの代表的なプロパティの使い方を、サンプルコードと実行結果とあわせて解説します。Console.CursorLeftプロパティコンソール上のカーソル位置(左端から数えた列位置)を変更するには、Console.CursorLeftプロパティを使用します。サンプルコードusing System