Think in Java - Chatpter 1 对象入门

抽象的进步

所有编程语言的最终目的都是提供一种“抽象”方法。
一种较有争议的说法是:解决问题的复杂程度直接取决于抽象的种类及质量。
“种类“ 就是指准备对什么进行”抽象“
   1. 汇编语言是对基础机器的少量抽象
   2. ”命令式“语言(Fortran Basic C)是对汇编语言的一种抽象
      a. 与汇编语言相比,这些语言已经有了长足的进步
      b. 但是它们的抽象原理依然要求我们着重考虑计算机的机构,而非考虑问题本身的结构

 

”纯粹“的面向对象程序设计方法:

1. 所有的东西都是对象 - 可将对象想象成一种新型变量:保存数据,要求它对自身进行操作
2. 程序是一大堆对象的组合 - 通过消息传递,各对象知道自己该做些什么,可将消息想象成为一个调用请求
3. 每个对象都有自己的存储空间,可以容纳其他对象 - 通过封装现有对象,可以制作出新型对象
4. 每个对象都有一种类型 - 每个对象都是某个”类“的一个”实例“
5. 同一类所有对象都能接受相同的消息 - ”可替换性“

 

 控制对成员的访问:

1. 防止程序员接触他们不该接触的东西 - 通常是内部数据类型的设计思想
2. 允许库设计人员修改内部结构,不用担心它会对客户程序员造成什么影响

 

一个单根结构,加上所有对象都在内存堆中创建,可以极大简化参数的传递;

利用单根结构,我们可以更方便地实现一个垃圾收集器:

  • 与此有关的必要支持科安装于基础类中
  • 垃圾收集器可将适当的消息发给系统内的任何对象

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值