
第13章面向对象程序设计
第13章 面向对象程序设计

目录抽象13.1分类13.213.3设计和效率13.4讨论Josephus问题13.5结构化方法13.6结构化方法的实现13.7面向对象方法13.8面向对象方法的实现13.9程序维护
13.1 抽象 13.2 分类 13.3 设计和效率 13.4 讨论Josephus问题 13.5 结构化方法 13.6 结构化方法的实现 13.7 面向对象方法 13.8 面向对象方法的实现 13.9 程序维护

第13章面向对象程序设计 C++区别于C的特征是C++支持面向对象程序设计在知道了C++中如何创建类后,必须搞清什么是面向对象程序设计类适用于现实世界中的哪些问题,才能真正进行面向对象的思考和编程学习本章后,应该了解结构化编程和面向对象编程的方法以及两者的区别;学会抽象和分类以及简单的面向对象程序设计
• C++区别于C的特征是C++支持面向对象程序设计。 • 在知道了C++中如何创建类后,必须搞清什么是 面向对象程序设计。 • 类适用于现实世界中的哪些问题,才能真正进 行面向对象的思考和编程。 • 学习本章后,应该了解结构化编程和面向对象 编程的方法以及两者的区别;学会抽象和分类 以及简单的面向对象程序设计

抽象13.1面向对象程序设计基于两个原则:/抽象√分类抽象与具体相对应一个人名是抽象,它代表某人的一切属性,例如:√身高/体重V文化程度等
• 面向对象程序设计基于两个原则: ✓ 抽象 ✓ 分类 • 抽象与具体相对应。 • 一个人名是抽象,它代表某人的一切属性, 例如: ✓ 身高 ✓ 体重 ✓ 文化程度等

抽象13.1抽象是具体事物的描述的一个概括现实生活中,我们是某一程度的细节中生活的这样可以减少必须处理的事情,在面向对象的计算机世界中,这种细节程度就叫抽象。例如:微波炉示例使用微波炉的步骤:先打开门把制作原料放进去关好门,按微波炉控制面板上的按钮微波炉开始工作
• 抽象是具体事物的描述的一个概括。 • 现实生活中,我们是某一程度的细节中生活的, 这样可以减少必须处理的事情。 • 在面向对象的计算机世界中,这种细节程度就叫 抽象。 例如:微波炉示例 使用微波炉的步骤: ✓ 先打开门 ✓ 把制作原料放进去 ✓ 关好门,按微波炉控制面板上的按钮 ✓ 微波炉开始工作

抽象13.1使用微波炉,人们处于下面的状态:(1)不用重新设计布局,不用改变微波炉的内部结构即可使它工作。使用微波炉只需跟微波炉的面板打交道。微波炉有一个接口,就是微波炉的面板,板上有所有的控制按钮和时间显示。微波炉的所有功能都是通过面板控制获得的
使用微波炉,人们处于下面的状态: ✓(1)不用重新设计布局,不用改变微波炉的内部结 构即可使它工作。 使用微波炉只需跟微波炉的面板打交道。 微波炉有一个接口,就是微波炉的面板,板上有所有的 控制按钮和时间显示。 微波炉的所有功能都是通过面板控制获得的

抽象13.1V(2)不用重新编制软件来驱动和控制微波炉中的微处理器,即与上次使用微波炉的目的无关。V(3)不用了解微波炉的内部结构/(4)一个微波炉的设计师,知道微波炉的内部一切设计细节,但在生活中微波炉只是用于烧菜热菜,而无须考虑其工作原理
✓(2)不用重新编制软件来驱动和控制微波炉中的微 处理器,即与上次使用微波炉的目的无关。 ✓(3)不用了解微波炉的内部结构。 ✓(4)一个微波炉的设计师,知道微波炉的内部一切 设计细节,但在生活中微波炉只是用于烧菜热菜, 而无须考虑其工作原理

抽象13.1,人们在使用微波炉时,不会考虑微波炉的内部结构。只是通过控制面板的按钮(接口)来使用微波炉让微波炉通过选择的功能进入对应的工作状态。如果正常操作,但是微波炉工作异常,那就是微波炉的质量问题如果误操作导致一些问题,就需要调整操作
• 人们在使用微波炉时,不会考虑微波炉的内 部结构。 • 只是通过控制面板的按钮(接口)来使用微波炉。 • 让微波炉通过选择的功能进入对应的工作状 态。 • 如果正常操作,但是微波炉工作异常,那就 是微波炉的质量问题。 • 如果误操作导致一些问题,就需要调整操作

抽象13.1,在面向对象程序设计中需分工明确两种编程面向对象应用程序设计类库设计都属于面向对象程序设计范畴如果操作微波炉之前改动了微波炉的内部结构,或者跟换了一些电路,那么一旦出现异常,就要由操作人负责
• 在面向对象程序设计中需分工明确两种编程: ✓ 面向对象应用程序设计 ✓ 类库设计 • 都属于面向对象程序设计范畴。 • 如果操作微波炉之前改动了微波炉的内部结 构,或者跟换了一些电路,那么一旦出现异 常,就要由操作人负责

抽象13.1,例如,在面向对象程序设计中,类库的修改和维护应由程序员负责到底用面向对象的方法描述“在微波炉中炖蛋的过程”时,首先,定义这个问题中对象的类型:蛋、微波炉、调料;,然后,着手设计制作这些对象的模型,即考虑微波炉的制作,鸡蛋的采购等。当做“制作微波炉”这项工作时,程序设计在具体的对象一级上,不用考虑鸡蛋怎么做
• 例如,在面向对象程序设计中,类库的修改 和维护应由程序员负责到底。 • 用面向对象的方法描述“在微波炉中炖蛋的 过程”时,首先,定义这个问题中对象的类 型:蛋、微波炉、调料; • 然后,着手设计制作这些对象的模型,即考 虑微波炉的制作,鸡蛋的采购等。 • 当做“制作微波炉”这项工作时,程序设计 在具体的对象一级上,不用考虑鸡蛋怎么做