欢迎来到天天文库
浏览记录
ID:22069806
大小:2.37 MB
页数:45页
时间:2018-10-19
《面向对象程序设计 (2)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章面向对象的分析与设计学习目标确定系统中的对象确定对象的属性及操作测试对象的有效性区分对象和类说出面向对象的编程和过程化编程之间的区别解释封装的主要好处列出软件开发的主要步骤对象(object)我们可以把生活所在的真实世界(RealWorld)当作是由许多大小不同的对象所组成的。对象可以是有生命的个体,比如一个人或一只鸟。对象对象也可以是无生命的个体,比如一辆汽车或一台计算机。对象也可以是一件抽象的概念,如天气的变化或鼠标所产生的事件。对象的特征对象有两个特征:属性和行为例如:人有他的身高或体重作属性,有他的行为
2、——如唱歌、打球、骑摩托车、开汽车。狗有它的颜色作属性,有它的行为,如吠叫或跳跃。电视机有它的外形、尺寸和颜色,有它的行为,如开、关,接收信号,转换频道,调节音量。换档开大灯煞车开冷气颜色排档数排气量轮胎型号汽车对象以汽车为例,我们可定义其属性与方法如:本教程中使用下面的示例来应用面向对象的分析与设计原理。公司名称:DirectClothing公司按月生成目录客户可以打电话、使用邮寄和传真必须每个检查订购项的存货水平DirectClothing接受支票和信用卡案例研究系统建模技术尝试描述一个系统在现实生活中的情形定义
3、系统的:对象——让对象工作的问题对象属性——对象的特征对象操作——所能执行的任务面向对象概述对象:找出问题描述领域中的主要名词对象可能是:简单的或复杂的(衬衣,银行)真实的或概念的(银行出纳员,帐户)对象有:属性(颜色,尺寸)操作(下订单,取消订单)确定对象属性:是对象的特征可以是数据或对象对Order对象来说,可能包括orderID和items操作:是对象执行的动作可以是对象做出的或施加给对象的动作对Order对象来说,可能是place和cancel确定对象属性和操作建模对象属性类型与问题域的相关性对象是否在问题陈
4、述的界限之内?系统是否必须有此对象才能完成任务?在用户与系统的交互中是否必须有此对象?独立存在性属性和操作测试对象分析问题域实验目标:找出问题域中的对象,及其属性和操作步骤:1、列出有关的对象(名词)2、列出这些对象的属性和操作3、为对象设置合理的属性和操作4、应用上述的3条评判规则检验对象的有效性练习Anobject-orienteddesignforaJavaapplicationthattrackssoccerscores.Theprogramshouldtrack:Thenumberofgoalseachpl
5、ayerscoresineachgameWhatteamstheplayersplayforandwhatseasonthegameswereplayin类(class)在真实世界里,有许多同“种类”的对象。而这些同“种类”的对象可被归类为一个“类”。例如我们可将世界上所有的汽车归类为汽车类,所有的动物归为动物类。动物类汽车类什么是类?是同种对象的集合与抽象类与对象的关系类对象抽象定义实例电视机一台长虹电视机学生学生王强类与对象如果将对象比作汽车,那么类就是汽车的设计图纸。所以面向对象程序设计的重点是类的设计,
6、而不是对象的设计。实例(instance)汽车类有些共同的状态(汽缸排气量,排档数,颜色,轮胎数……)和行为(换档,开灯,开冷气……),但每一台汽车个别的状态及方法可不同于且独立于其他汽车。你的汽车只是这世界中许多汽车中的一个。我们就称你的汽车对象是汽车类中的一个实例(instance)。汽车类(class)实例(instance)NEW你的车OO的真正意义OO的真正意义是使得软件开发接近人类的正常思维,将许多原来由人完成的工作交给机器去完成:-机器语言汇编语言高级语言-面向过程面向模块面向对象OO包括一套比较完整的
7、方法,程序设计只是其中一个环节。-面向对象的分析-面向对象的设计-面向对象的程序设计-代码重用面向对象与面向过程公共数据函数函数函数函数算法+数据结构属性数据方法方法属性数据方法方法过程式程序设计OOP程序设计对象+消息消息面向过程面向对象OOP三大特性:封装、继承与多态封装(encapsulation)封装是一种信息隐藏技术。是指利用抽象数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过在数据外面的被授权的操作才能够与这个抽象数据类型进行交互。在面向对象的编程中,用类来
8、封装相关的数据和方法,保证了数据的安全和系统的严密性。仓库属性操作价格表,物品,账单,电话,等等提供物品,账单等等考虑一个仓库,外部只能通过管理员获取物品。抽象封装的优点隐藏类的实现细节,实现了信息的隐藏及安全性;提高了程序的模块化,且易于维护;具体实现是编写该类的人控制的,让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限
此文档下载收益归作者所有