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#中五种访问修饰符作用范围实例详解的详细内容!

相关阅读 >>

.net的错误处理机制是什么

c#开发中遇到的问题分享

.net和c#有什么区别

c#中foreach实例代码

.net core之实现下载文件的实例

c#给图片增加文字实例代码

c#中发送邮件的实现方法详解

入门级的.net mvc 实例

详解.net core使用socket与树莓派进行通信

c#中vb.net给word文档添加/撤销书签的实例

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




打赏

取消

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

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

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

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

评论

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