从前面已经知道,方法可以访问多调用对象的私有数据。一个方法可以访问所属类的所有对象的私有数据,这令很多人感到奇怪!例如,下面看一下用来比较两个雇员的equals方法。

  1. class Employee
  2. {
  3. ...
  4. boolean equals(Employee onter)
  5. {
  6. return name.equals(other.name);
  7. }
  8. }

典型的调用方式是

  1. if(harry.equals(boss))...

这个方法访问harry的私有域,这点并不会引发奇怪。然而,还访问boss的私有域。这是合法的,其原因是boss是Employee类的对象,而Employee类的方法可以访问Employee类的任何一个对象的私有域。

C++注释:C++也有同样的原则。方法可以访问所属类的私有特性(feature),而不仅限于访问隐式参数的私有特性。

转载于:https://blog.51cto.com/mrwucg/1057611

4.3.7 基于类的访问权限相关推荐

  1. java成员修饰词 友好的_Java的类成员访问权限修饰词(以及类访问权限)

    在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词.Java的类成员访问权限修饰词有四类:private,无(默认情况下),protected和public.其权 ...

  2. C++学习 十五、类继承(1)基类,派生类,访问权限,protected

    C++学习 十五.类继承(1)基类,派生类 前言 类继承 类的关系与继承 基类, 派生类 基类 派生类 构造函数,析构函数 文件位置 访问权限 protected 后记 前言 本篇开始学习C++类的继 ...

  3. C++57个入门知识点_17 类的访问权限及C语言模拟类的封装(类的私有权限突破方法:编译期进行权限检查,运行期通过指针修改类的私有成员变量;利用函数指针对结构体中成员变量进行修改;CPU大小尾排列)

    接上篇:C++57个入门知识点_16 类的标准写法(类名.成员变量.成员函数及对象命名规则:成员变量一般为私有,成员函数为公有并暴露给外部使用成员变量:防止类过大,声明写在.h,实现写在.cpp,调用 ...

  4. java类默认访问权限_Java的四种访问权限

    ❝ 所谓访问权限,指的就是本类中的成员变量.成员方法对其他类的可见性 ❞ 试想一想,当我们修改一个非常庞大的项目时,如果所有变量和方法都是公共权限,那么后端中任何类都有权限去修改它的变量和方法,很有可 ...

  5. 【class】类的访问权限

    类的访问权限有三种:public.protected.private. public类型的变量或成员函数可以被实例对象访问,protected和private不可以被实例对象访问.但两者在继承等方面有 ...

  6. java 类成员访问权限_Java类成员访问权限控制知识总结

    一 前言 这篇文章是很基础的一文,没多大深度,对于开发人员必然是熟练于心.本篇文章的主题是为什么java要设置类成员访问级别?其原因也很简单,就是为了面向对象的封装特性:将类成员使用不同的访问级别控制 ...

  7. java 类的访问权限_什么是Java类的访问权限?

    展开全部 在解32313133353236313431303231363533e59b9ee7ad9431333366306436释访问权限控制之前,先看一个场景. 在学生信息管理系统中,有两个类,分 ...

  8. java的string访问某个元素_架构师必懂的——RBAC基于角色的访问权限设计

    RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理.这 ...

  9. java的默认访问权限_java类的访问权限

    1.解析 Java有四种访问权限, 其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符. private: Java语言中对访问权限限制的最窄的修 ...

最新文章

  1. 技术选型之Docker容器引擎
  2. CentOS 7.6 搭建Gitlab教程
  3. AMD规范:简单而优雅的动态载入JavaScript代码
  4. (九)2005年我的第一次软件行业创业,烧掉30万、2年时间打水漂的惨痛教训
  5. [C# 基础知识梳理系列]专题二:委托的本质论
  6. java+fseek+函数_函数fseek() 用法(转)
  7. 淮北市成人学计算机学校,安徽淮北市成人学电脑?
  8. Java反射————Method根据方法名称字符串调用方法
  9. 源码编译安装httpd服务
  10. 零元学Expression Blend 4 - Chapter 3 熟悉操作第一步(制作一个猴子脸)
  11. FTP环境搭建及客户代码调用公共方法封装
  12. Content-type 对照表
  13. 实例88:构建InfoGAN生成MNIST模拟数据
  14. SpringBoot 动态数据源
  15. C++算法之化繁为简的分治法
  16. Kafka序列化器,分区器,拦截器,消息累加器
  17. WPF界面-手机QQ_DEMO
  18. Android 读取系统联系人
  19. 认识区块链——思维导图总结
  20. 4.什么是MESI缓存一致性协议?怎么解决并发的可见性问题?

热门文章

  1. UILabel的行间距,字间距处理
  2. hibernate 数据处理
  3. 自动生成三层结构代码(3)--生成数据访问层Insert方法
  4. qt-项目部署(某些情况下编译器中运行异常的话可以使用命令windeployqt 程序名在安装的qt dos命令下补全部分依赖库在运行项目或发布)
  5. [C++] 匿名管道的理解与实现
  6. Python连接Mysql数据库入门
  7. python bind_Python bind-允许同时按下多个键
  8. qml自定义switch_QML官方系列教程——Qt Quick Controls Styles
  9. 如何实现点击微信内置浏览器返回按钮,返回指定页面,或者原地刷新
  10. 混合app用百分比还是rem_如何用平板APP和手机APP控制混合音视频矩阵切换器