当前位置:
首页
文章
后端
详情

C# 编程学习系列(11)访问修饰符

在学习结构体和方法的时候,都有提到访问修饰符的内容。那么访问修饰符是用来干什么的?访问修饰符又和面向对象三大特性之一的封装有什么关系?

一、访问修饰符

1、定义

首先来看一下官方上对于访问修饰符的定义:

所有类型和类型成员都具有可访问型级别。该级别可以控制是否可以从你的程序集或其他程序集中的其他代码中使用它们。

说白了,访问修饰符相当于是权限。

例如在公司里,你能做的,上级都能做;上级能做的,你不一定可以做。你可以摸鱼,上级也可以摸鱼;上级可以发工资,你却只能领工资。

放在编程里也是一样的,访问修饰符决定哪些代码你可以随意使用,而哪些是不允许你使用的。

2、权限

C# 中的访问修饰符一共有五个,分别是 publicprivateprotectedinternalprivate protect 以及 protected internal

它们各自的权限如下表:

由上可见,public 相当于就是公共权限,在哪里都可以使用;private 相当于是私人权限,有些秘密还是自己知道就好...

二、封装

众所周知,面向对象编程语言有三大特性,分别是封装、继承和多态。

(1)定义

把一个或多个项目封闭在一个屋里或者逻辑的包中。

在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。

封装也就是我们将写好的、相关联的程序代码装到一个类中,隐藏了对象中的属性和实现细节。当要使用其中的某个功能,只需要调用该类即可以。

(2)封装和访问修饰符

那么封装和访问修饰符之间又有什么关联呢?

上面说到封装就是把相关完整的代码放在一块,只要关联类的调用,就离不开要讨论访问修饰符。

例如,我们封装好了一个类,类中有些变量或者方法允许所有人都可以使用,就可以使用 public 来修饰变量和方法;但是有些内容,我希望是在这个类中才能使用,其他人无权使用,那么就可以使用 private 来修饰变量和方法。

因此,需要根据所要使用对象来指定访问修饰符,这也是封装中很重要的一点。

(3)优点

  • 提高数据的安全性 - 调用者不能修改某个私有的成员属性,确保了私有属性的数据安全。
  • 提高代码可重用性 - 将一系列相关代码封装起来,调用者想要实现其中功能,只要知道调用方法来使用即可。便于可重复使用,减少了大量代码的产生。
  • 隐藏具体实现 - 调用者只需要知道调用方法,而不需要直到具体的实现过程。

三、总结

本篇文章简单地记录了关于访问修饰符以及面向对象封装的一些基本概念。

接下来将学习关于面向对象的继承和多态的内容。

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。

同类热门文章

深入了解C++中的new操作符:使用具体实例学习

C++中的new操作符是动态分配内存的主要手段之一。在程序运行时,我们可能需要动态地创建和销毁对象,而new就是为此提供了便利。但是,使用new也常常会引发一些问题,如内存泄漏、空指针等等。因此,本文将通过具体的示例,深入介绍C++中的new操作符,帮助读者更好地掌握其使用。


深入了解C++中的new操作符:使用具体实例学习

怎么用Java反射获取包下所有类? 详细代码实例操作

Java的反射机制就是在运行状态下,对于任何一个类,它能知道这个类的所有属性和方法;对于任何一个对象,都能调用这个对象的任意一个方法。本篇文章将通过具体的代码示例,展示如何通过Java反射来获取包下的所有类。


怎么用Java反射获取包下所有类? 详细代码实例操作

员工线上学习考试系统

有点播,直播,在线支付,三级分销等功能,可以对学员学习情况的监督监控,有源码,可二次开发。支持外网和局域网私有化部署,经过测试源码完整可用!1、视频点播:视频播放,图文资料,课件下载,章节试学,限时免

员工线上学习考试系统

了解Java中的volati关键字的作用 以及具体使用方法

本篇文章将和大家分享一下Java当中的volatile关键字,下面将为各位小伙伴讲述volatile关键字的作用以及它的具体使用方法。


了解Java中的volati关键字的作用 以及具体使用方法

Java Map 所有的值转为String类型

可以使用 Java 8 中的 Map.replaceAll() 方法将所有的值转为 String 类型: 上面的代码会将 map 中所有的值都转为 String 类型。 HashMap 是 Java

Java Map 所有的值转为String类型