《Java编程思想》学习之对象入门
来源:互联网 发布:浏览器注入整人js脚本 编辑:程序博客网 时间:2024/06/11 04:31
说明:这一系列博文,只是我在工作之余,对《Java编程思想》这本书的学习心得,并不是一个可参考的资料,看客看看就好,如有兴趣可以自行查阅这本书。
各种编程语言的最终目的是为程序员提供一种“抽象”方法。这本书提到一句话,解决问题的复杂程度直接取决于抽象的种类及质量。
在学校中学习过汇编语言、c语言,这些都相对复杂,从这本书看来,也是如此。汇编语言是对基础机器的少量抽象,后来的许多“命令式”语言(如FORTRAN,BASIC和C)是对汇编语言的一种抽象。虽然已经有所改进,但这些语言的抽象原理依旧是着重考虑计算机的结构,而不是考虑问题本身的结构。在机器模型(位于“方案空间”)与实际解决的问题模型(位于“问题空间”)之间,程序员必须建立起一种联系。越是基础的语言越复杂,需要程序员付出大量时间精力开发维护。
面向对象编程(OOP)则更进一步,程序员可利用一些工具表达描述问题空间内的元素。由于这种表达非常普遍,所以不必受限于特定类型的问题。我们将问题空间中的元素以及它们在方案空间的表示物称作“对象”( Object)。OOP 允许我们根据问题来描述问题,而不是根据方案。
面向对象程序设计方法的五个特征:
(1)所有东西都是对象。可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。
(2)程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象“发送一条消息”。更具体地讲,可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数。
(3) 每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。所以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂程度。
(4) 每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”。其中,“类”(Class)是“类型”( Type)的同义词。一个类最重要的特征就是“能将什么消息发给它?”。
(5) 同一类所有对象都能接收相同的消息。由于类型为“圆”( Circle)的一个对象也属于类型为“形状”( Shape)的一个对象,所以一个圆完全能接收形状消息。这意味着可让程序代码统一指挥“形状”,令其自动控制所有符合“形状”描述的对象,其中自然包括“圆”。这一特性称为对象的“可替换性”,是OOP 最重要的概念之一。
- 《Java编程思想》学习之对象入门
- 《Java编程思想》学习之对象入门1.3继承
- 《Java编程思想》学习之对象入门1.6数据保存
- java编程思想学习----第一章----对象入门
- JAVA编程思想学习 --- 第一章 (对象入门)
- 《Java编程思想》学习之对象入门1.2对象的接口
- 《Java编程思想》学习之对象入门1.4对象的创建和存在时间
- 《Java编程思想》学习之对象入门1.5集合与继承器
- 《Java编程思想》学习之对象入门1.7输入和输出
- Java-编程思想之对象
- java编程思想读书笔记-第一章对象入门
- Java 面向对象编程思想之我见
- Java编程思想之一切都是对象
- java编程思想之对象初始化
- Java编程思想读书笔记之对象导论
- Java编程思想之代理空对象
- java编程思想之一切都是对象
- Java编程思想之面向对象
- LeetCode Maximum Binary Tree
- Linux命令学习-硬件信息查看常用命令
- jqgrid表格宽度自适应
- Oracle修改tnsnames文件后何时生效?
- 3、系统命令练习
- 《Java编程思想》学习之对象入门
- (2017.08.28-2017.09.01)周总结-修复Bug总结与软考
- Spring配置事务中@Transactional各个属性定义
- datagridview内容设置不可编辑
- ON_COMMAND和ON_MESSAGE的区别
- AD620或者AD623 接的三个运放的差分电路
- linux新建用户切换后显示-bash-4.1$(转载)
- 跟随Deepmind使用AI玩《星际争霸2》
- 从右到左文字动画效果