类、对象是核心 ■面向对象分析、设计、编码的基本单位 ■数据与功能的有效封装 ■可直接映射到现实或抽象的实体 关系、状态、行为 开发管理的基本单位 类测试就是“单元测试”!
类、对象是核心 ◼ 面向对象分析、设计、编码的基本单位 ◼ 数据与功能的有效封装 ◼ 可直接映射到现实或抽象的实体 ◼ 关系、状态、行为 ◼ 开发管理的基本单位 ◼ 类测试就是“单元测试”!
继承:面向对象冠上明珠 ■如果没有继承,谁能在一个小时之内,只使用 SDK接口编写出 Notepad?如果使用继承,你只 需十分钟(或更少)! ■继承至少提供了两个方向的设计支持: 重用 ■抽象、接口(COM、DCOM、Bean) ■没有继承,几乎不可能有通用的容器类 ( Container or collector)可供使用 ■多继承:你使用过多少次?
继承:面向对象冠上明珠 ◼ 如果没有继承,谁能在一个小时之内,只使用 SDK接口编写出Notepad?如果使用继承,你只 需十分钟(或更少)! ◼ 继承至少提供了两个方向的设计支持: ◼ 重用 ◼ 抽象、接口(COM、DCOM、Bean) ◼ 没有继承,几乎不可能有通用的容器类 (Container or Collector)可供使用 ◼ 多继承:你使用过多少次?
多态:面向对象‘自适应’中 枢 ■多态( polymorphism):多种形态,统 语义 ■接口描述了通讯协议 ■多态使得基于接口的通讯能够自适应 Argl, agr2
多态:面向对象‘自适应’中 枢 ◼ 多态(polymorphism):多种形态,统 一语义 ◼ 接口描述了通讯协议 ◼ 多态使得基于接口的通讯能够自适应 Arg1,agr2, …
多态:面向对象‘自适应’中 枢 两种多态: 同一个类中的不同形态接口 不同子类以不同形态实现(或重载)父类接 典型例子:画图程序中 Graph Manager类 的DraW,Move,Open, ■典型例子:文档编辑中针对不同对象的 统一的 Cut/Copy/ Paste操作
多态:面向对象‘自适应’中 枢 ◼ 两种多态: ◼ 同一个类中的不同形态接口 ◼ 不同子类以不同形态实现(或重载)父类接 口 ◼ 典型例子:画图程序中GraphManager类 的Draw,Move,Open,… ◼ 典型例子:文档编辑中针对不同对象的 统一的Cut/Copy/Paste操作
消息:可能让你失望 ■不要试图用信息理论或通讯理论中的消 息来理解 ■也不要用操作系统中的消息(事件)来 理解 ■所谓两个对象间的一个消息就是一个对 象使用了另一个对象的操作( operation), 简单说就是对象的操作调用! Windows中的 SendMessage和 PostMessage根本就与面向对象无关!
消息:可能让你失望 ◼ 不要试图用信息理论或通讯理论中的消 息来理解 ◼ 也不要用操作系统中的消息(事件)来 理解 ◼ 所谓两个对象间的一个消息就是一个对 象使用了另一个对象的操作(operation) , 简单说就是对象的操作调用! ◼ Windows中的SendMessage和 PostMessage根本就与面向对象无关!