对C#中public、private、protect的区别说明

 更新时间:2021年04月15日 09:04:46   作者:James-Blackhu  
这篇文章主要介绍了对C#中public、private、protect的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

访问修饰符都知道是什么,但是在这之前没有深入的去研究和探索,每天都接触的东西应该清楚才可以。

最基础的三个访问修饰符:

public 、private、protect.在搜索过程中又看到有一种和他们放在了一起,那就是internal.接下来就四个访问修饰符做一个简答的总结和介绍。

public公有访问,不受任何限制。

private私有访问,只限于本类成员访问,子类、实例都不能访问。

protected保护访问,只限于本类和子类访问,实例不能访问。

internal内部访问,只限于本项目内访问,其他不能访问。

public人缘好,跟谁都好,protect只和熟人好,private比较自闭.不过他们是三胞胎.class是他们的爹。

例:

比如说:一个人A为父类,他的儿子B,妻子C,私生子D(注:D不在他家里),如果我们给A的事情增加修饰符:

public事件,地球人都知道,全公开

protected事件,A,B,D知道(A和他的所有儿子知道,妻子C不知道)

private事件,只有A知道(隐私?心事?)

internal事件,A,B,C知道(A家里人都知道,私生子D不知道)

注意事项:

1, 命名空间上不允许使用访问修饰符。命名空间没有访问限制。

2, 一个成员或类型只能有一个访问修饰符,使用 protectedinternal 组合时除外

3, assembly中的class默认访问修饰符为internal

4, 类中的字段默认为private

5, 类中的方法默认为private,包括构造函数

补充:C#中internal和protect internal的理解

internal

internal关键字是用来修饰类和类的成员的,表示该内容只能在本程序集中访问。

程序集:一般输出形式为dll或exe的文件。

例子:

如果某个程序集中,有如下的类:

namespace InternalTest
{
    internal class InternalTest1
    {
     ...
    }
    public class InternalTest2
    {
     ...
    }
}

那么在另外一个程序集中,可以访问InternalTest2,但是不能访问InternalTest2。

protect internal

protect internal 是指protect or internal是指:在同一程序集中,或派生类中可以访问。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • C#编程实现取整和取余的方法

    C#编程实现取整和取余的方法

    这篇文章主要介绍了C#编程实现取整和取余的方法,结合实例形式分析了C#中Math.Celling与Math.Floor函数的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • C#调用新浪微博API实例代码

    C#调用新浪微博API实例代码

    在本篇文章里小编给大家整理的是一篇关于C#调用微博API的相关知识点内容,有需要的朋友们可以学习下。
    2019-11-11
  • C# FileSystemWatcher 在监控文件夹和文件时的使用方法

    C# FileSystemWatcher 在监控文件夹和文件时的使用方法

    这篇文章主要介绍了C# FileSystemWatcher 在监控文件夹和文件时的使用方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以参考下
    2020-06-06
  • Unity UGUI的GraphicRaycaster射线投射组件介绍使用

    Unity UGUI的GraphicRaycaster射线投射组件介绍使用

    这篇文章主要为大家介绍了Unity UGUI的GraphicRaycaster射线投射组件介绍使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • C#实现Word和ODT文档相互转换详解

    C#实现Word和ODT文档相互转换详解

    ODT文档格式一种开放文档格式(OpenDocument Text)。本文以C#及VB.NET代码展示ODT和Word文档之间相互转换的方法,感兴趣的可以学习一下
    2022-05-05
  • C#实现属于自己的QQ截图工具

    C#实现属于自己的QQ截图工具

    这篇文章主要为大家详细介绍了C#实现属于自己的QQ截图工具的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • WinForm实现最小化到系统托盘方法实例详解

    WinForm实现最小化到系统托盘方法实例详解

    这篇文章主要介绍了WinForm实现最小化到系统托盘方法,实例分析了C#中实现WinForm最小化到系统托盘所需的相关控件与使用技巧,需要的朋友可以参考下
    2015-05-05
  • C# 如何实现一个带通知的List<T>

    C# 如何实现一个带通知的List<T>

    这篇文章主要介绍了C# 如何实现一个带通知的List<T>,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-02-02
  • C# 鼠标穿透窗体功能的实现方法

    C# 鼠标穿透窗体功能的实现方法

    通过以下代码,在窗体启动后调用方法SetPenetrate() 即可实现窗体的穿透功能,有需要的朋友可以参考一下
    2013-10-10
  • c++换行符知识点总结

    c++换行符知识点总结

    在本篇文章里小编给大家整理的是关于c++换行符知识点总结,需要的朋友们可以参考学习下。
    2020-03-03

最新评论