阅读量:0
在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: 10 Value: 10
请注意,protected
成员仅在派生类中可访问,而不是在其他任何类中。如果尝试从非派生类访问protected
成员,编译器将报错。