前言
转载于CSDN,原文的比喻非常出色。现在结合微软文档略微整理,发于博客园。
原文地址:https://blog.csdn.net/weixin_43267344/article/details/100924565
微软文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/access-modifiers
原文整理
官方解释
public:公有访问,访问不受限制。
private:私有访问,访问限于包含类。只限于本类成员访问,子类、实例都不能访问。
protected:保护访问,访问限于包含类或派生自包含类的类型。即本类和子类访问,实例不能访问。
internal:内部访问,访问限于当前程序集。即只限于本项目内访问,其他项目不能访问。
举例比喻
一个人A为父类
儿子B类继承A类
妻子C类
私生子D类继承A类(注:D不在他家里。即不在项目/当前程序集)
如果我们给A的事情(成员变量和方法)增加修饰符:
public事件:ABCD都知道。
private事件:A知道(比如心事)
protected事件:ABD知道(A和所有儿子知道,妻子C不知道)
internal事件:ABC知道(A家里人都知道,私生子D不知道)
posted on
浙公网安备 33010602011771号