注目キーワード

アクセス修飾子の違い

  • 2024年4月24日
  • C#
C#

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#の修飾子を理解し、効果的に使用するための一助となることを願っています。

最新情報をチェックしよう!