fenri's diary

基本的には勉強し始めたC#のメモ。後は140字で収まらない駄文。

protected 修飾子

protected 修飾子

protected 修飾子はアクセス修飾子の 1 つです。
public と private の中間程度のアクセシビリティを表します。

アクセス修飾子 説明
public アクセス制限なし
private 宣言されたクラスの内部からのみアクセス可
protected 派生先を含むクラスの内部からのみアクセス可
internal 現在のアセンブリ (EXE, DLL) 内でアクセス可

using System;

// 基底クラス
class Base
{
    public int num1;       // クラスの内外からアクセス可能
    protected int num2;    // 継承先を含むクラス内部からアクセス可能
    private int num3;      // 自分のクラス内部からのみアクセス可能
}

// 派生クラス
class Derived : Base
{
    public void Initialize()
    {
        num1 = 0;  // 可
        num2 = 0;  // 可
        num3 = 0;  // 不可
    }
}

class Program
{
    static void Main()
    {
        Base b = new Base();
        b.num1 = 0;  // 可
        b.num2 = 0;  // 不可
        b.num3 = 0;  // 不可

        Derived d = new Derived();
        d.num1 = 0;  // 可
        d.num2 = 0;  // 不可
        d.num3 = 0;  // 不可
    }
}