目次
C#の修飾子の完全ガイド
C# における修飾子は、クラス、メソッド、その他のメンバーの可視性や振る舞いを制御するための重要な要素です。この記事では、C# の各修飾子の役割と使用法を詳しく解説していきます。
1. 可視性修飾子(Access Modifiers)
可視性修飾子は、クラスやメンバーがどの範囲からアクセス可能かを定義します。
- public
どのクラスからでもアクセス可能。 - private
定義されたクラス内からのみアクセス可能。 - protected
定義されたクラスおよびその派生クラスからアクセス可能。 - internal
同一アセンブリ内のクラスからアクセス可能。 - protected internal
同一アセンブリ内、または派生クラスからのアクセスを許可。 - private protected
定義されたクラスとその派生クラスの中で同一アセンブリに限ってアクセス可能。
2. 非アクセス修飾子(Non-Access Modifiers)
非アクセス修飾子は、クラスやメンバーの振る舞いを変更します。
- static
インスタンスを生成せずにクラスに直接属するようにします。 - const
値を変更できない定数を定義します。 - readonly
値の変更をコンストラクタまたは変数宣言時に限定します。 - virtual
メソッドが派生クラスでオーバーライド可能であることを示します。 - override
基底クラスのメソッドを派生クラスで再定義します。 - abstract
クラスまたはメンバーが抽象的であり、インスタンス化できないことを示します。
3. 修飾子の実践的な使用例
実際のコード例を通して、各修飾子の適用方法を学びます。
csharpCopy codepublic class BaseClass
{
public virtual void Display()
{
Console.WriteLine("BaseClass display");
}
}
public class DerivedClass : BaseClass
{
public override void Display()
{
Console.WriteLine("DerivedClass display");
}
}
public static class Utilities
{
public static readonly int MaxSize = 100;
}
4. まとめ
修飾子を適切に使用することで、ソフトウェアの保守性、拡張性、そして安全性が向上します。このガイドがC#の修飾子を理解し、効果的に使用するための一助となることを願っています。