c#

如何在C#中正确使用protected继承

小樊
84
2024-09-08 03:35:04
栏目: 编程语言

在C#中,protected关键字用于声明类成员的访问级别

以下是在C#中正确使用protected继承的示例:

using System;

class BaseClass
{
    protected int _value;

    public BaseClass(int value)
    {
        _value = value;
    }

    protected void PrintValue()
    {
        Console.WriteLine("Value: " + _value);
    }
}

class DerivedClass : BaseClass
{
    public DerivedClass(int value) : base(value)
    {
    }

    public void DisplayValue()
    {
        // 可以访问基类的protected成员_value
        Console.WriteLine("Derived class directly accessing _value: " + _value);
        
        // 可以访问基类的protected方法PrintValue()
        PrintValue();
    }
}

class Program
{
    static void Main(string[] args)
    {
        DerivedClass obj = new DerivedClass(10);
        obj.DisplayValue();
    }
}

在这个例子中,BaseClass有一个protected成员变量_value和一个protected方法PrintValue()DerivedClass继承自BaseClass,因此它可以访问这些protected成员。DerivedClassDisplayValue()方法展示了如何访问基类的protected成员。当我们创建一个DerivedClass对象并调用其DisplayValue()方法时,将输出以下内容:

Derived class directly accessing _value: 10
Value: 10

请注意,protected成员仅在派生类中可访问,而不是在其他任何类中。如果尝试从非派生类访问protected成员,编译器将报错。

0
看了该问题的人还看了