Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#访问修饰符

作者:昔日暖阳   发布日期:2025-11-29   浏览:82

// 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#递归

大家都在看

c# 二进制

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

c#网络编程

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站