Java编程思想读书笔记(1)

第一章:对象导论

 

这本书翻过不少遍,但是这是我第一次认真的把第一章看了。作者强调这章是“背景性和补充性的材料。许多人在没有了解面向对象程序设计全貌之前,感觉无法轻松自在的从事此类编程。因此,此处将引入许多概念,以期帮助读者扎实的了解OOP”。会用Java写成程序和会写OOP的程序那是两码子事.

 

看完就后悔以前没有仔细读过。单是这一章,就基本介绍了Java的特性和功能。

 

1.1 抽象过程

首先,作者先介绍了什么是对象。总结起来就是:对象具有状态(拥有内部数据)、行为(方法)和标识(对象的存储地址)。

 

1.2 每个对象都有一个接口

个人觉得这个小节有点多余。作者描述的和标题似乎联系不大。我怎么看也无法把内容和标题联系起来。作者似乎是想表达对象是类的一个实例这个关系,即每个对象都属于一个类型。类的行为就是对象的行为,并把这些行为称为“接口”?

 

1.3 每个对象都提供服务

1.4 被隐藏的具体实现

1.5 复用的具体实现

这3个小节主要是讲类的设计问题,强调了类内聚和耦合的关系。关于这几点,我在《设计模式初学者指南》上,看到了一段更好的描述,足以概括和解释以上内容:

 

面向对象系统的基本指导思想如下所述:

 

    不要等你需要做什么事情的时候才向对象要信息,而是要选择拥有这些信息的对象为你服务。”

 

 

接着又具体阐述了由以上指导思想产生的一些经验法则,这些法则可以用来判断一个系统是不是真正的面向对象系统:

 

    1)对象是根据”合约“定义的, 对象不能违背其合约。

2)所有的数据都是私有的。(这个规则适用于所有实现细节,而不仅仅适用于数据。)

3)对象的实现方式必须可以做任何的改变,无论这些改变有多大,只要修改定义这个对象的单类就可以。

4)盲目使用“get“和”set“是有害的

 

首先,对于”合约“思想:对象的合约定义为从外界来看对象所表现的行为。例如对象的接口、性能及大小的限制等,这些行为都不会随着时间而变化。但对象的实现不属于合约的部分。

其次,对于”一切都是私有“, 若不是私有的,则必是合约的一部分而不能修改。

第三,我想就不必解释了。理想状况下,当然只修改变更的类。但是这样并不一定总能实现。只能尽量满足这个条件。

 

 

 

1.7--1.13

接下来,作者介绍面向对象语言的特征:多态和继承,并指明Java是单根继承的。还介绍了Java一些的特性:容器(Java5之后引入了泛型),对象的创建和生命期(Java采用了动态内存的分配方式和垃圾回收),异常处理,并发编程等等。

 

   总之,在这第一章里,作者给我们做了一个关于面向对象和Java语言的相关概念的梳理。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值