在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成员。DerivedClass的DisplayValue()方法展示了如何访问基类的protected成员。当我们创建一个DerivedClass对象并调用其DisplayValue()方法时,将输出以下内容:
Derived class directly accessing _value: 10Value: 10请注意,protected成员仅在派生类中可访问,而不是在其他任何类中。如果尝试从非派生类访问protected成员,编译器将报错。


