文档介绍:面向对象程序设计概述
1
面向对象编程
程序设计方法
公共数据
函数
函数
函数
函数
算法+数据结构
数据
方法
方法
数据
方法
方法
过程式程序设计
OOP程序设计
对象+消息
消息
2
面向对象编程
程序设计方法
面向过程的程序设计
面向过程的程序遵循面向过程的问题求解方法
其中心思想是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决过程。
算法+数据结构
数据结构利用计算机的离散逻辑来量化表达需要解决的问题。
而算法则研究如何快捷、高效地组织解决问题的具体过程。
面向过程——面向机器
3
面向对象编程
程序设计方法
面向对象的程序设计
面向对象问题求解关心的不仅仅是孤立的单个过程,而是孕育所有这些过程的母体系统
它能够用计算机逻辑来模拟、描述系统本身,包括系统的组成,系统的各种可能状态,以及系统中可能产生的各种过程与过程引起的系统状态切换。
面向对象的程序设计是以要解决的问题中所涉及到的各种对象为主要考虑因素。
对象是一种看问题的观点,是对现实世界各种元素的一种抽象。对象既含数据又含功能,因此具有自身处理数据的能力。对象被认为是迄今为止最接近真实事物的数据抽象。
4
面向对象编程
对象与过程
考虑对象—考虑过程:前者更有意义
设计对象—设计过程:前者更富挑战性,尤其是设计可重用的对象。
面向对象的程序设计和问题求解力求符合人们日常自然的思维习惯,降低分解问题的难度和复杂性,提高整个求解过程的可控制性、可监测性和可维护性,从而达到以较小的代价和较高的效率获得较满意效果的目的。
5
面向对象编程
对象的几个特征
Everything is an object
原则上,可以将所要解决的问题中的任何一个
“概念组件”在程序中表示为一个对象。
对象类似一个记录,可以存储数据,但你还可以让它执行某些操作(作用在它自身的数据上)
A program is a bunch of objects telling each other what to do by sending messages
所谓对一个对象发信息,就是调用该对象的一个方法。
Every object has a type
each object is an instance of a class
对象+消息
6
面向对象编程
现实中的对象
现实世界中对象有两个共同的特点:
一方面,它们都有自己的状态,如一台电
视机有自己的摆放位置,有关机和开机状
态,此刻正在播放某一频道的电视节目等
另一方面,它们又都有自己的行为或功能,
如电视机的开机、关机、调台等。
7
面向对象编程
对象的属性与方法
面向对象程序设计中的对象是现实世界对象的模型化,它同样具有状态和行为。
对象的状态用属性来维护,
对象的行为用方法来实现。
因此可以简单地讲,对象是面向对象的程序设计模式,它由描述状态的属性(变量)和用来实现对象行为的方法(代码)组成。
几种叫法
属性—静态属性—域—成员变量状态
方法—动态属性—成员方法行为
8
面向对象编程
案例-定单系统
成立新的公司—时尚服装。
每月发布商品编目,并寄给定户。
客户可以发e-mail 或FAX定货(寄定单)。
对于客户的定货要检查存货清单,如缺货,得暂时搁置定单,直到供货商送到货。
公司检查支票和信用卡。
公司将定单下发给仓库,给客户发货。
注意:
同种商品每月价格不一。如果订户使用的是六个月之前的编目,价格采用当前编目价格。
公司接受所有主要的信用卡。
9
面向对象编程
分析对象
系统是由相互作用的对象组成。任何系统需要它的对象做它的工作。
案例对象:定单,服装,客户…
在一个问题域中识别对象不是科学而是艺术。对象取决于人的观点(模块化,应用)
从“名词”开始确定系统中的对象。对象可以是:
简单的和复杂的:衬衣,银行
实际的和概念的:银行出纳员,银行帐号
10
面向对象编程