C#中五种访问修饰符作用范围实例详解


本文摘自PHP中文网,作者零下一度,侵删。

在C#语言中,共有五种访问修饰符:public、private、protected、internal、protected internal。作用范围如下表:
访问修饰符 说明
public 公有访问。不受任何限制。
private 私有访问。只限于本类成员访问,子类,实例都不能访问。
protected 保护访问。只限于本类和子类访问,实例不能访问。
internal 内部访问。只限于本项目内访问,其他不能访问。
protected internal 内部保护访问。只限于本项目或是子类访问,其他不能访问
C#成员类型的可修饰及默认修饰符如下表:
成员类型 默认修饰符 可被修饰符
enum public none
class private public、protected、internal、private、
protected internal
interface public none
struct private public、internal、private
下面我就结合实例,讲一下public、private、protected、internal和protected internal的作用范围。
如下代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

[csharp] view plain copy

  

using System; 

using System.Collections.Generic; 

using System.Text; 

   

namespace AccessModifier 

    public class AccessModifierClass 

    

        public string GetPublicString() 

         

            return "Public String"

         

   

        protected string GetProtectedString() 

         

            return "Protected String"

         

   

         private string GetPrivateString() 

         

            return "Private String"

         

   

         internal string GetInternalString() 

         

            return "Internal String"

         

   

        protected internal string GetProtectedInternalString() 

         

            return "Protected Internal String"

         

   

        void AvailableAccessModifier() 

        

         this.GetPublicString(); 

         this.GetPrivateString(); 

         this.GetInternalString(); 

         this.GetProtectedInternalString(); 

         this.GetProtectedString(); 

        

     

   

   

    public class TestAccessModifierClass1 

     

         void AvailableAccessModifier() 

         

             AccessModifierClass item = new AccessModifierClass(); 

             item.GetPublicString(); 

             item.GetInternalString(); 

             item.GetProtectedInternalString(); 

         

     

   

     public class TestAccessModifierClass2 : AccessModifierClass 

     

         void AvailableAccessModifier() 

         

             AccessModifierClass item = new AccessModifierClass(); 

             item.GetPublicString(); 

             item.GetInternalString(); 

             item.GetProtectedInternalString(); 

             base.GetProtectedString(); 

         

     

 }


AccessModifierClass 是我们的访问修饰符类,里面有五种访问修饰符方法,可见在 AccessModifierClass 类里面的 AvailableAccessModifier() 方法可以访问所有的方法。
在 TestAccessModifierClass1 类中的 AvailableAccessModifier() 方法只能访问 public、Internal 和 Protected Internal 方法。

TestAccessModifierClass2 类继承自 AccessModifierClass 类,所以它的 AvailableAccessModifier() 方法可以访问 public,internal,protected和protected internal 方法。

以上就是C#中五种访问修饰符作用范围实例详解的详细内容!

相关阅读 >>

c#中noto sans字体支持韩文的实例教程

有关c#工厂模式简单讲解

c#如何连接到sql server2008数据库的示例分享

c# arraylistd的长度问题解决

关于.net(c#)正确读取中文编码文件的实例教程

c#中异步编程4async与await异步程序开发的实例分析

关于.net后台定时服务框架的简单介绍

关于url后面传中文方法总结

c#实现身份证识别功能的图文代码详解

.net下如何使用quartz.net的代码图文教程

更多相关阅读请进入《protected》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...