第一章 对象导论1.3/1.4合并
2016-03-03 11:06
204 查看
Thinking in Java1.3中是描述则样理解“对象”这个词的含义的,他将对象想象为“服务提供者”。由于程序本身就是将向用户提供服务,它将通过调用其他对象提供的服务来实现这一目的。 它认为这样的想法不但有助与理解对象的作用,还有一个附带的好处就是有助于提高了对象的内聚性。 由于高内聚性是软件的设计基本质量要求之一(这意味着一个软件的各个方面“组合”得很好)。
这里只是简答的介绍下关于此类问题,Thinking in Java的观点。
1.4被隐藏的具体现实
在这节里,做着很有意思的运用到了一个管与程序员的定义(按角色可将程序开发人员分为类创建者和客户端程序员)这种分法其实很形象,以编写类为目标的程序员的目标就是构建类,这种类只向客户端程序员暴露必须的部分,而影藏其它部分。客户端程序员的目标是将已有的类收集起来用以更高效的开发本身,这其中没有谁是高级或者低级的分别只是所追求的目标有所不同罢了。
而在这里我充分感受到了社会大分工的含义,这种以目标不同,甚至生活相距千里的人们,使用同一种工具,却完成了自然而然的一种分工协作,甚至超越时空的合作,让我觉得Java的前景向荣。
关于为什么类创建者要隐藏某些部分,以为如果隐藏的话,客户端程序员就不能访问它,这意味着类创建者可以任意的修改被隐藏的部分,而不用担心对其他任何人的造成影响。由于被隐藏的部分通常代表对象内脆弱的部分,它们很容易被粗心的或者不知内情的客户端程序员所毁坏,因此将现实隐藏起来可以减少程序bug。
当然了,还有诸多的其他原因,我这里就不一一介绍了,有兴趣的人可以查看Tinking in Java中1.4的内容。 所以Java的创建者运用了三个关键字在类的内部设定边界:**public、private、protected**。这些访问指定词(access specifier)决定了紧跟其后被定义的东西可以被谁使用。
public(公共权限)表示表示紧随其后的元素对任何人都是可以使用的。
private(私有权限)表示出类型创建者和类型的内部方法uiwai的任何人都不可能访问的元素,只能自己访问,只能在本类中访问。
protected(受保护的权限)在本类中,本包中,其他剥得子类。protected关键字和private作用相当,擦别在于继承的类可以访问protected‘成员,但是不能访问private成员,
Java中还有一种默认的访问权限,当没有使用到墙面提到的任何访问指定词时,它将发生作用,这种权限通常被称为包访问权限,这些成员如同指定了private一样。
以下是具体的作用范围
关键字 | 同一类中 | 同一包中 | 其他包子类 | 任何地方(全局) |
---|---|---|---|---|
private | 选中 | |||
默认(不写形式) | 选中 | 选中 | ||
protected | 选中 | 选中 | 选中 | |
public | 选中 | 选中 | 选中 | 选中 |
相关文章推荐
- Swift2.0(8)分支循环
- hdu3440House Man【差分约束系统】
- spring线程池ThreadPoolExecutor配置并且得到任务执行的结果
- Android网络通信库Volley简介
- jquery扩展的两个方法与区别
- FPGA 视频拼接器 动态欢迎词的实现
- 使用Node.js+Socket.IO搭建WebSocket实时应用
- Hadoop集群(第1期)_CentOS安装配置
- 【微积分】 06 - 重积分
- 第1章 心理因素影响人际关系(自己性格的塑造)
- 如何利用Ffmpeg进行视频截图
- 对于C++ Builder 使用DevPress 控件中的TCXGrid 添加复选框 在勾选时会闪退
- PHP实现OATH动态口令算法
- oracle 函数
- 解决方法数超65536(java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536)
- vm中centos扩展硬盘空间
- Web报表工具FineReport填报界面键盘操作
- Python+Scrapy+Redis+Mongodb 环境安装
- Swift2.0(7)运算符
- POJ 1002