第一章 对象导论
--面向对象程序编程 Object-oriented
Programming,OOP----doc:面向对象的三个基本特征
1.1 抽象过程
--Alan Kay : a)万物皆为对象 b)程序是对象的集合,他们通过发送消息来告知彼此所要做的 c)每个对象都有自己的由其他对象多构成的存储 d)每个对象都拥有其类型 :每个对象都是每个类class的一个实例instance e)某一特定类型的所有对象都可以接受同样的消息
--Booch:对象具有状态(内部数据)、行为(方法的产生者)和标识(内存中的唯一地址)
1.2 每个对象都有一个接口
--具有相同特性和行为的对象的集合
1.3 每个对象都提供服务
1.4 被隐藏的具体实现
--访问指定词access specifier :public private(类的创建者和类的内部方法) protected(继承的类可以访问protected 与private相当) 默认的访问权限:包访问权限
1.5 复用具体实现
--组合composition聚合aggregation 视为 has a 的关系 (or a part of)
1.6 继承
--垃圾回收/几何形
1.6.1 ‘是一个’与‘像是一个’关系
1.7 伴随多态的可互换对象
--允许将子类类型的指针赋值给父类类型的指针 upcasting 向上转型 与 向下转型
1.8 单根继承结构
--object 单根继承结构保证所有对象具备某些功能。使垃圾回收器的实现变得容易的多,这对于系统级操作(如异常处理)显得尤其重要,并给编程带来更大的灵活性。
1.9 容器
--集合 list map set
1.9.1 参数化类型
--向下转型和运行时的检查需要额外的程序运行时间
1.10 对象的创建和生命周期
--C++认为效率控制是最重要的议题,为了追求最大的执行速度,对象的存储空间和生命周期可以在编写程序时确定,这可以通过将对象置于堆栈或(他们有时被称为自动变量或限域变量)静态存储区域内实现。这种方式将存储空间分配和释放置于优先考虑的位置。
--堆heap的内存池中动态地创建对象。
1.11 异常处理:处理错误
--有助于编写更健壮的程序
1.12 并发编程
1.13 java与Internet
1.13.1 web是什么
--web实际上就是一个巨型客户/服务器系统
1.13.2 客户端编程
1.13.3 服务器端编程
1.14 总结