函数与数据隐藏 函数是功能黑箱 使用者需要的只是函数的功能,并不需要知 晓它内部是如何实现功能的 函数内部处理的数据不对函数外部开放 个函数不能直接访问另一个函数内部的数据
6 函数与数据隐藏 ◼ 函数是功能黑箱 – 使用者需要的只是函数的功能,并不需要知 晓它内部是如何实现功能的 – 函数内部处理的数据不对函数外部开放 ◼ 一个函数不能直接访问另一个函数内部的数据
小结:面向过程设计 数据与操作分离,以操作过程为中心 先表示数据 主要精力放在设计数据操作及其流程控制 对复杂程序采用自顶向下设计和模块化设计 将使用低级别操作的复杂过程设计成使用高级别操作的 简单过程 不适合的应用:如GU程序 没有明确的执行流程,由不可预知的事件驱动处理 过程
7 小结:面向过程设计 ◼ 数据与操作分离,以操作过程为中心 – 先表示数据 – 主要精力放在设计数据操作及其流程控制 – 对复杂程序采用自顶向下设计和模块化设计 ◼ 将使用低级别操作的复杂过程设计成使用高级别操作的 简单过程 ◼ 不适合的应用:如GUI程序 – 没有明确的执行流程,由不可预知的事件驱动处理 过程
数据与操作:面向对象观点 数据与操作不可分离 数据类型概念已经提示我们特定数据值和特定操 作是不可分割的两件事情 Q:请问x+y是什么意思? A:+对不同类型的xy值有不同意义 ■既然如此何不将特定数据值与特定操作捆绑 在一起,形成一种新型"数据"? 由此产生了对象概念
8 数据与操作:面向对象观点 ◼ 数据与操作不可分离 – 数据类型概念已经提示我们:特定数据值和特定操 作是不可分割的两件事情 ◼ Q:请问x+y是什么意思? ◼ A:+对不同类型的x,y值有不同意义. ◼ 既然如此,何不将特定数据值与特定操作捆绑 在一起,形成一种新型"数据"? – 由此产生了对象概念
对象 对象(Obec:集数据与操作于一身 对象拥有特定数据 存储在实例变量中 对象能对其数据进行特定操作 对象内的函数 对象的属性:实例变量和方法
9 对象 ◼ 对象(Object):集数据与操作于一身. – 对象拥有特定数据 ◼ 存储在实例变量中 – 对象能对其数据进行特定操作 ◼ 对象内的函数 对象的属性:实例变量和方法
对象 ■计算:向对象发操作请求消息 对象是主动的,自己掌控对其数据的操作 对象将自己能执行的操作对外公开 面向对象( Object-Orientee):软件系统由 各种对象组成对象之间通过消息进行 交互
10 对象 ◼ 计算:向对象发操作请求消息. – 对象是主动的,自己掌控对其数据的操作 – 对象将自己能执行的操作对外公开 ◼ 面向对象(Object-Oriented):软件系统由 各种对象组成,对象之间通过消息进行 交互