protected C#
时间: 2023-10-19 21:59:29 浏览: 89
在C#中,protected关键字同样是一种访问修饰符,用于控制类成员的访问权限。
当在C#中使用protected修饰符时,它的作用和上述提到的一样。被protected修饰的成员可以在其所属类内部、该类的子类内部以及同一个程序集内的其他类中被访问。但是,它不能被同一个程序集外的类直接访问。
下面是一个使用protected修饰符的示例:
```csharp
public class Parent
{
protected string parentName;
protected void ParentMethod()
{
// 在父类中可以访问 protected 成员
Console.WriteLine("Parent Method");
}
}
public class Child : Parent
{
public void ChildMethod()
{
// 在子类中可以访问父类的 protected 成员
parentName = "John";
ParentMethod();
Console.WriteLine("Child Method");
}
}
public class Program
{
public static void Main()
{
Child child = new Child();
child.ChildMethod();
}
}
```
在上述示例中,Parent类中的parentName字段和ParentMethod方法都被使用protected修饰。这意味着它们可以在Parent类内部、Child类内部以及同一个程序集内的其他类中被访问。
在Child类中的ChildMethod方法中,我们可以看到它可以访问父类Parent的protected成员。这包括设置parentName字段的值和调用ParentMethod方法。
需要注意的是,protected成员可以被继承,但不能被实例化的类直接访问。只有通过子类的实例才能访问父类的protected成员。
阅读全文