// C# 访问修饰符示例代码
// public: 公有访问修饰符,成员可以被任何其他代码访问。
public class PublicClass {
public int PublicField = 10;
public void PublicMethod() {
Console.WriteLine("This is a public method.");
}
}
// private: 私有访问修饰符,成员只能在定义它的类中访问。
public class PrivateClass {
private int PrivateField = 20;
private void PrivateMethod() {
Console.WriteLine("This is a private method.");
}
public void AccessPrivateMethod() {
// 可以在类的内部访问私有成员
Console.WriteLine(PrivateField);
PrivateMethod();
}
}
// protected: 受保护的访问修饰符,成员只能在定义它的类及其派生类中访问。
public class ProtectedClass {
protected int ProtectedField = 30;
protected void ProtectedMethod() {
Console.WriteLine("This is a protected method.");
}
}
public class DerivedClass : ProtectedClass {
public void AccessProtectedMembers() {
// 派生类可以访问受保护的成员
Console.WriteLine(ProtectedField);
ProtectedMethod();
}
}
// internal: 内部访问修饰符,成员只能在同一程序集内访问。
internal class InternalClass {
internal string InternalField = "Internal Field";
internal void InternalMethod() {
Console.WriteLine("This is an internal method.");
}
}
// protected internal: 成员可以在同一程序集内或从派生类中访问。
public class ProtectedInternalClass {
protected internal int ProtectedInternalField = 40;
protected internal void ProtectedInternalMethod() {
Console.WriteLine("This is a protected internal method.");
}
}
// private protected: 成员只能在包含它的类或派生类中访问,并且必须在同一程序集中。
public class PrivateProtectedClass {
private protected int PrivateProtectedField = 50;
private protected void PrivateProtectedMethod() {
Console.WriteLine("This is a private protected method.");
}
}
public class Program {
public static void Main(string[] args) {
PublicClass publicObj = new PublicClass();
publicObj.PublicMethod(); // 输出: This is a public method.
PrivateClass privateObj = new PrivateClass();
privateObj.AccessPrivateMethod(); // 输出: 20 和 This is a private method.
DerivedClass derivedObj = new DerivedClass();
derivedObj.AccessProtectedMembers(); // 输出: 30 和 This is a protected method.
InternalClass internalObj = new InternalClass();
internalObj.InternalMethod(); // 输出: This is an internal method.
ProtectedInternalClass protIntObj = new ProtectedInternalClass();
protIntObj.ProtectedInternalMethod(); // 输出: This is a protected internal method.
// 注意:private protected 成员只能在包含它的类或派生类中访问,并且必须在同一程序集中。
}
}
这段代码展示了 C# 中不同访问修饰符的使用方法和作用范围。
上一篇:c# 保留一位小数
下一篇:c#递归
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站