资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
面向对象的程序设计(Java )姓 名:王雯雯(基础科学信息技术系 ) Cell Phone: 18953051933 Q Q : 17814822150%:课堂表现(随堂表现、出勤率、课后作业完 成情况);50%:书面考试。课程考核方式:“听而易忘,见而易记,做而易懂” 能力的三个层次: 知识:学习前人的知识 解决问题的方法:灵活运用所学到的知识 解决问题的思路:创造解决问题的方法 学习方法: 课上积极参与,课下动手实践 善于发现问题,积极分析问题,勇于解决问题 自学能力:读、写、查、背 乐观的努力,眼光要高远,脚步要踏实写在前面的话:理解、掌握面向对象的编程思想掌握Java语言基础知识掌握Java中的类掌握异常处理机制掌握基本的工具类和算法掌握基本的IO操作以及数据库编程基础理解多线程机制运用AWT、Swing编写图形用户界面程序课程内容以及目标第一章 面向对象的程序设计理解面向对象的设计思想掌握对象和类的概念理解抽象和封装理解类之间的关系理解对象与类之间的关系本章目标程序:为解决一个信息处理任务而预先编制的工作 执行方案,是由一串CPU能够执行的基本指令组成 的序列,每一条指令规定了计算机应进行什么操作 (如加、减、乘、判断等)及操作需要的有关数 据。算法:求解问题类的、机械的、统一的方法,它由 有限多个步骤组成,对于问题类中的每个给定的具 体问题,机械地执行这些步骤就可以得到问题的解 答。程序、算法、实体、程序设计算法:给定两个正整数p和q,如何求出p和q的最 大公约数g?步骤一:如果p小于q,则交换p和q;步骤二:令r是p除以q的余数;步骤三:如果r等于0,则令g=q并终止程序;否则令p=q,q=r,并转向步骤2.程序、算法、实体、程序设计算法用于解决特定的“问题”。 算法有若干可机械执行的操作组成; 算法可有多个输入和输出; 对于任何输入,算法都会终止; 算法的主要操作对象是函数。实体向一个银行账户中存款可表达为:从一个银行账户中取款则可描述为:实体:表示数据库中描述的现实世界中的对象或概念。它 是客观世界中存在的且可互相区分的事物实体可以是人也可 以是物体实物,也可以是抽象概念。程序、算法、实体、程序设计描述一个实体的概念时,至少应该划分为三个方面的特 性:属性、行为、约束。从系统状态的角度看,实体的 属性表达了实体的状态,这些状态可由实体的行为来改 变,并且实体状态在任何时刻都满足实体的约束。程序、算法、实体、程序设计程序、算法、实体三者的关系:程序是算法和实体在计算机系统中的体现。程序设计是一种编写计算机程序的活动,为解决某 一特定问题而构造一种专用工具的智力活动。要完 成程序设计工作必须具备4方面的知识:应用领域 知识、程序设计方法、程序设计语言、程序设计环 境与工具。程序设计方法是指在应用领域知识的基础上,遵循 明确的步骤、运用适当的思维方式构造出实体,设 计相应的数据结构或算法。其大致上可以分为两类 :自顶向下和自底向上的构造方法。其实大多数的 程序设计方法是这两种方式的结合。程序、算法、实体、程序设计早期的程序设计:FORTRAN、BASIC、COBOL等,无 特定程序设计方法时期,个人炫技,不利于团队合作。结构化程序设计:自顶向下、逐步求精,采用单入口/ 单输出的控制结构。Pascal、C、Ado等程序设计语言 ,一个以结构化程序设计方法为指导的程序最终是由若 干过程组成的,每一个过程完成一个明确的功能,而这 些过程只是面向操作或属性中的一方具有局限性。面向对象的程序设计:以类作为构造程序的基本单位, 具有封装、数据抽象、继承、多态化等特点。C+、 Simula、Java、C#等程序设计语言,程序围绕数据进 行设计,将数据和操作作为同等重要的实体。程序设计方法的历史演变“对象”=属性+对属性进行的操作面向对象基本思想:从现实世界中客观存在的事 物出发来构造软件系统,并在系统的构造中尽可 能运用人类的自然思维方式。面向对象更加强调运用人类在日常的思维逻辑中 经常采用的思想方法和原则,如抽象、分类、继 承、聚合、多态等。面向对象面向过程编程中数据与程序分离,数据作为静态的资料 ,其状态不可变,所有的变化有操作来承担,也就是说 要改变数据就要调用函数,这就使得函数调用被大量的 使用,这无疑是软件性能的硬伤;面向过程也就是传统范型的问题:无法应付规模逐渐增大的软件产品;无法满足用户对软件交付后维护的期望。面向对象的软件开发将世界上的事物均看成对象,而对 象的两个特征为:行为(操作)与状态(属性),每个 对象可以通过自身的行为来改变自己的状态,其讲求的 是对象间的协作与交互。因为对象的操作封闭在对象之 内,所以外部要与对象进行交互的话只能通过向对象发 送“消息”,这就使得对象对外是透明的。面向对象与面向过程的区别以及优势面向对象范型的优势:面向对象范型支持信息隐藏,这是一个保证实现细 节局部于一个对象的机制;除了维护之外,面向对象范型使得软件开发变得更 加容易;有着良好设计的对象是一个独立的单元;面向对象范型降低了软件产品的复杂度,从而简化 了开发和维护过程;面向对象范型提倡重用,因为对象是独立实体,可 用于未来的产品。面向对象与面向过程的区别以及优势面向对象程序设计的特点:封装性:类=数据(属性,静态)+对该数据的操作( 方法,动态);对象是类的实例;封装使得类具有独立 性和完整性。继承性:类、子类以及对象之间自动共享属性和方法的 机制;其优点是:重复使用、接口一致(反射)。多态性:表示特定功能时,有多种不同的形态或实现方 法;常见的多态形式:方法的重载;方法的覆盖。抽象性:类的层次设计,高层类是底层类的抽象表述; 类与对象的关系,类是一个抽象概念,而对象是具体 的。面向对象程序设计的特点面向对象的程序结构18对象和类对象是用计算机语言对问题域中事物的描述,通过“ 属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性; 对象是问题域中符合某一概念特征的具体的事物;类是用于描述同一类型的对象的一个抽象的概念,类 中定义了这一类对象所应具有的静态和动态属性。 类是问题域中客观事物的抽象或概念化19对象和类类是抽象的,对象是具体的;类可以看成一类对象的模板,对象可以看成该类的一 个具体实例。职员1n职员-姓名 -年龄 -工资+显示姓名() +显示年龄() +修改年龄() +领取工资()职员A:职员 姓名 = A 年龄 = 30 工资=8000职员B:职员 姓名 = B 年龄 = 35 工资=9000抽象实例化职员收银员系统管理员仓库管理员促销员采购经理20属性事物的特性在类中表示为变量每个对象的每个属性都拥有其特有的值属性名称由类的所有实例共享年龄姓名属性工资“在类中表示对象或实体拥有的特性时称为属性 ”促销员对象21方法方法操作的实际实现如何执行所请求的操作 的规范方法指定操作对象数据 的方式在得到操作请求时指定 如何做的算法“对象执行的操作称为方法。”面向对象一个主要的思维:合适的方法要出现在合适的类中。22类和对象的区别类是概念模型,定义对象的所有特性和所需的操作对象是真实的模型类和对象类定义实体对象是实际的实体类是对象的原型所有属于同一个类 的对象都具有相同 的特性和操作23类(对象)之间的关系关联关系 类之间最弱的关系,一个类中的方法使用了另一个类中的 对象即构成了关联关系;24类(对象)之间的关系继承关系:一般和特殊 继承内涵了“是一种”的关系,继承可以构建成一 种层次关系的继承树。 25类(对象)之间的关系实现继承关系:接口26类(对象)之间的关系多态27类(对象)之间的关系聚合关系:整体和部分 :聚集(空菱形)和组合(实体菱形) 聚集组合对象的示例收银员对象顾客对象顾客 姓名:朱丽叶 年龄:28 体重:52千克操作: 购买商品状态姓名:布兰尼 职衔:收银员 年龄:35 体重:60千克操作: 收款 打印帐单行为消息传递“消息指一个对象为执行某项特定操作而向另一个 对象发送的请求”消息传递当需要执行一项特定操作时 ,通过向已为其定义此项操 作的对象发送消息来请求对象之间通过传递消息 实现相互通信消息 = 接收消息的对象 + 执行的方法 + 参数(请求的服务)30封装信息隐藏,隐藏对象的实现细节,不让用户看到将东西包装在一起,然后以新的完整形式呈现出来 例如,两种或多种化学药品组成一个胶囊 将方法和属性一起包装到一个单元中,单元以类的形式 实现 信息隐蔽,尽可能隐蔽对象的内部细节,只保留有限的 接口使之与外部发生联系;“隐藏属性、方法或实现细节的过程称为封装。”31封装的示例 接口采购经理 罗杰斯先生法拉力公司.迪斯尼汽车公司.市场经理 雪莉女士要求32封装的示例有选择地提供数据法拉力公司迪斯尼汽车公司公共 电话号码 电子邮箱 产品种类私有 备件的制造方法 备件库存 备件的制造成本公共 电话号码 电子邮箱 汽车种类私有 汽车的组装方法 汽车库存 汽车的组装成本33封装的示例 实体法拉力公司实体迪斯尼汽车公司Auti Ltd.Buto Ltd.属性 电话号码 电子邮箱 产品种类 现有存货数量 雇员详情 所需物料详情属性 电话号码 电子邮箱 汽车种类 汽车规格 雇员详情 库存详情 经销商详情方法 接收订单 备件的制造方法 计算备件的制造成本 计算利润率方法 发出订单 汽车的组装方法 计算汽车的组装成本 计算工资 发出订单 编制必要报告34抽象处理事物复杂性的方法只关注事物的重要 细节,而忽略事物 的次要细节。35数据抽象抽取出关键数据抽取出属性和方法“根据具体的应用抽取出类的相关关属性和操作。”实施原则:先考虑问题域中有哪些对象和类,然后分析各自的属性和方法,再考虑类和类、对象和对象之间的关系。学习了面向对象程序设计的相关概念,理解了面向 对象的主要编程思想;掌握了对象和类的概念理解了抽象和封装理解了类之间的关系理解了对象与类之间的关系本章总结
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号