【C#】private 和 public 修饰符的基础知识及基本运用

在 C# 中,private 和 public 是访问修饰符(access modifiers),用于控制类成员的可见性和可访问性。这些修饰符决定了其他代码能否直接访问某个类的方法、字段或属性。

 

public

用途:允许从任何地方(包括不同命名空间和程序集)访问该成员。

适用范围:方法、字段、属性等都可以声明为 public,以便在外部代码中使用它们。

示例

 

using System;

 

public class Person

{

    public string Name { get; set; }

    

    public void SayHello()

    {

        Console.WriteLine($"Hello, my name is {Name}");

    }

}

 

class Program

{

    static void Main(string[] args)

    {

        var person = new Person();

        person.Name = "Alice";

        

        person.SayHello(); // 可以直接调用公共方法和访问公共属性

    }

}

private

用途:只允许在同一类内部访问该成员,外部代码无法直接访问。

适用范围:主要用于实现类的内部逻辑,隐藏具体的实现细节。

示例

 

using System;

 

public class Person

{

    private string name;

    

    public void SetName(string newName)

    {

        this.name = newName; // 只能通过内部方法设置name字段值

    }

    

    public string GetName()

    {

        return this.name; // 只能通过内部方法获取name字段的值

    }

 

    public void SayHello()

    {

        Console.WriteLine($"Hello, my name is {this.Name}");

    }

}

 

class Program

{

    static void Main(string[] args)

    {

        var person = new Person();

        

        // 下面两行代码会编译失败,因为name字段是private的

        // person.name = "Alice"; 

        // string aliceName = person.name;

        

        person.SetName("Alice");

        person.SayHello(); // 通过公共方法间接访问私有成员

        

    }

}

总结

public:允许从任何地方(包括不同命名空间和程序集)访问该成员。适用于需要公开提供接口的方法、属性等。

 

private:只允许在同一类内部访问该成员,外部代码无法直接访问。适合用于实现具体的逻辑细节,并保护这些细节不受外界干扰。

 

其他访问修饰符

除了 public 和 private 之外,C# 还提供了其他访问修饰符:

 

protected:只允许在同一个类及其派生子类中访问。

 

internal:只允许在同一程序集内访问。

 

protected internal:同时具有内部和受保护的访问特性(即,同一命名空间、同一程序集或派生子类)。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值