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中关于接口和类之间的区别介绍

.net实现微信js-sdk分享功能代码展示

linux下搭建.net core环境方法步骤

c#对word文档的创建、插入表格、设置样式等操作实例

c#集合类有哪些?

c#中关于静态与非静态方法的区别介绍

c#中在构造函数中访问虚成员有什么问题?

pdb是什么文件?

.net是否真的被国内市场嫌弃?

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

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




打赏

取消

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

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

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

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

评论

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