




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/9/11,1,面向对象程序设计,张璞 重庆邮电大学计算机学院 ,2020/9/11,2,课程概述,面向对象方法的主要思想、基本概念 用Java这门面向对象程序设计语言来实现用面向对象分析与设计方法建立的系统模型 面向对象设计(OOD)的基本原则及设计模式 UML/OOA/OOD 的简介,2020/9/11,3,课程概述,2020/9/11,4,教材,Java面向对象程序设计(第2版),耿祥义、张跃平遍著,清华大学出版社,2020/9/11,5,OOP参考文献,2020/9/11,6,参考文献,面向对象的系统分析(第2版),邵维忠,杨芙清著,清华大学出版社,2020/9/11,7,参考
2、文献,面向对象的系统设计,邵维忠等著,清华大学出版社,2020/9/11,8,参考文献,UML用户指南 作者 Booch等 译者:邵维忠 等,2020/9/11,9,参考文献,原书名: The Essence of Object-Oriented Programming with Java and UML 原出版社: Addison Wesley 作者: Bruce E.Wampler 译者: 王海鹏 丛书名: 软件工程系列教材 出版社:人民邮电出版社,2020/9/11,10,参考文献,设计模式:可复用面向对象软件的基础 (美)Erich Gamma 等 译者: 李英军 等译,2020/9/
3、11,11,本讲总体纲要,Java简介 开发环境的建立 第一个 Java程序 面向对象技术基本概念 面向对象方法的发展史及现状简介,2020/9/11,12,Java语言?,Java语言是一种可以编写跨平台应用软件的面向对象的程序设计语言 目前已经在各个领域得到广泛应用。,2020/9/11,13,Java的地位,语言地位:一门很好的面向对象语言, 主流编程语言 网络地位: Java的平台无关性让Java成为编写网络应用程序的佼佼者,而且Java也提供了许多以网络应用为核心的技术,使得Java特别适合于网络应用软件的设计与开发 需求地位: 良好的就业前景,2020/9/11,14,2020/9
4、/11,15,2020/9/11,16,Java语言 特点,简单性:Java的语法比 C/C+简单 网络特性 面向对象 平台无关性: 在操作系统之上再提供一个Java运行时环境(由Java虚拟机、类库以及一些核心文件组成)只要平台提供了Java运行环境,Java编写的软件就能在其上运行 安全性 多线程性,2020/9/11,17,Java历史简介,1)由Sun公司的詹姆斯高斯林(James Gosling)等人于1990年代初开发。它最初被命名为Oak,是用于家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。 James Gosling, “绿色项
5、目”,2020/9/11,18,Java历史简介,2)由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,在1995年5月以“Java”的名称正式发布了。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。,2020/9/11,19,2020/9/11,20,Java已发展成为计算平台,2020/9/11,21,2020/9/11,22,三种平台简介,目前Java平台主要分为下列3个版本: (1)Java SE(曾称为J2SE)称为Java标准版或Java 标准
6、平台。 (2)Java EE(曾称为J2EE)称为Java企业版或Java企业平台。 (3)Java ME(曾称为J2ME)称为Java微型版或Java小型平台。,2020/9/11,23,2020/9/11,24,下载与安装指南,例如, 安装: Java SDK, Standard Edition 版本 操作系统,2020/9/11,25,本讲总体纲要,Java简介 开发环境的建立 第一个 Java程序 面向对象技术基本概念 面向对象方法的发展史及现状简介,2020/9/11,26,建立Java开发环境,1)下载J2SE安装程序 2)运行J2SE安装程序,安装J2SE 3)设置环境变量: 运
7、行路径(path) 类路径(classpath,初学时不必设置) 4)下载J2SE的在线帮助文档,2020/9/11,27,本讲总体纲要,Java简介 开发环境的建立 第一个 Java程序 面向对象技术基本概念 面向对象方法的发展史及现状简介,2020/9/11,28,例 1: HelloWorld,2020/9/11,29,Java程序的工作原理,2020/9/11,30,本讲总体纲要,Java简介 开发环境的建立 第一个 Java程序 面向对象技术基本概念 面向对象方法的发展史及现状简介,2020/9/11,31,对象的基本概念,对象(Object)是系统中描述客观事物的一个实体,它是构成
8、系统的一个基本单位,由一组属性和对这组属性进行操作的一组服务组成。,2020/9/11,32,属性:用来描述对象静态特征的一个数据项。 操作: 用来描述对象行为的一个动作序列。,对象的要素,2020/9/11,33,建立一个复数对象模型,对象的理解,2020/9/11,34,对象是现实世界中某个实际存在的事物,它可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。 对象是构成世界的一个独立单位。它具有自己的静态特征和动态特征。,对象的理解,2020/9/11,35,类的基本概念,类是具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。,2020/9/11,
9、36,类的理解,2020/9/11,37,类的理解,2020/9/11,38,类的理解,2020/9/11,39,类与对象的比较 “同类对象具有相同的属性和服务”是指它们的定义形式相同,而不是说每个对象的属性值都相同。 类是静态的,类的存在、语义和关系在程序执行前就已经定义好了。 对象是动态的,对象在程序执行时可以被创建和删除。,在面向对象的系统分析和设计中,并不需要逐个对对象进行说明,而是着重描述代表一批对象共性的类。,2020/9/11,40,封装的概念,封装 把对象的属性和服务结合成一个独立的系统单位。并尽可能隐蔽对象的内部细节。,2020/9/11,41,封装性,2020/9/11,4
10、2,封装的重要意义:,使对象能够集中而完整地描述并对应一个具体事物。 体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据,避免了外部错误对它的“交叉感染”。,2020/9/11,43,封装的重要意义:,对象的内部的修改对外部的影响很小,减少了修改引起的“波动效应”。 公开静态的、不变的操作,而把动态的、易变的操作隐藏起来。,2020/9/11,44,编程的麻烦 执行效率的损失 解决办法: 不强调严格封装,实行可见性控制。 (混合型OOPL)例如:C+,封装带来的问题:,2020/9/11,45,消息,2020/9/11,46,消息,对象通过它对外提供的操作在系统中发挥作用。在OO方法
11、中,把向对象发出的服务请求称为消息。 当系统中的其他对象或其他系统成分(在不要求完全对象化的语言中,允许有不属于任何对象的成分,例如C+程序中的main函数)请求这个对象,执行某个服务时,该对象就响应这个请求,完成该服务。,2020/9/11,47,聚合,一个(较复杂的)对象由其他若干(较简单的)对象作为其构成部分,称较复杂的对象为聚集,称较简单的对象为成分,称这种关系为聚合。 这种关系的语义是“has a”或“is a part of”,2020/9/11,48,继承的概念,继承(Inheritance)是指子类可以自动拥有父类的全部属性和服务。,2020/9/11,49,继承,2020/9
12、/11,50,继承意味着自动地拥有,或隐含地复制 子类从父类中继承属性和操作,根据需要添加自己的属性和方法。 继承简化了人们对事物的认识和描述,非常有益于软件复用,是OO技术提高软件开发效率的重要原因之一。,继承,2020/9/11,51,多态性 是指同一个命名在不同的语境下具有不同的语义。 OO技术中,常指在父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为。,多态性,2020/9/11,52,多态性,2020/9/11,53,不同人对play()请求的响应,多态性机制为软件的结构设计提供了灵活性,减少了信息冗余,明显提高了软件的可复用性和可扩充性。,2020/9/
13、11,54,关联,两个或多个类之间的关系称作关联。,2020/9/11,55,2020/9/11,56,本讲总体纲要,Java简介 开发环境的建立 第一个 Java程序 面向对象技术基本概念 面向对象方法的发展史及现状简介,2020/9/11,57,面向对象方法的发展史及现状简介,2020/9/11,58,面向对象方法的发展史及现状简介,2020/9/11,59,面向对象方法的发展史及现状简介,2020/9/11,60,面向对象方法的发展史及现状简介,2020/9/11,61,面向对象方法的发展史及现状简介,2020/9/11,62,面向对象的软件工程,面向对象分析(Object Orient
14、ed Analysis,OOA) 分析和理解问题域,找出描述问题域和系统责任所需的类及对象,分析它们的内部构成和外部关系,建立OOA 模型。 面向对象设计(Object Oriented Design,OOD) 将OOA 模型直接变成OOD 模型,并且补充与一些实现有关的部分,如人机界面、数据存储、任务管理等。 面向对象编程(Object Oriented Programming,OOP) 用一种面向对象的编程语言将OOD 模型中的各个成分编写成程序,由于从OOAOODOOP实现了无缝连接和平滑过渡,因此提高了开发工作的效率和质量。,2020/9/11,63,面向对象的软件工程,面向对象测试(Object Oriented Testing,OOT) 面向对象测试是指对于运用OO 技术开发的软件,在测试过程中继续运用OO 技术进行以对象概念为中心的软件测试。 以类作为基本测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商机管理办法文库
- 喀什餐具管理办法
- 四川期刊管理办法
- 团员发展管理办法
- 团队营销管理办法
- 园林人员管理办法
- 国企薪金管理办法
- 国培经费管理办法
- 国库检查管理办法
- 国铁接轨管理办法
- 教育部学科门类、一级学科、二级学科目录
- 教学案例 长方形的面积“黄冈赛”一等奖
- GB/T 35694-2017光伏发电站安全规程
- GB/T 19418-2003钢的弧焊接头缺陷质量分级指南
- GA/T 992-2012停车库(场)出入口控制设备技术要求
- GA/T 828-2009电子物证软件功能检验技术规范
- 共价有机骨架材料COFs教学讲义课件
- 安全手册(中英文版)
- 粉末冶金学(全套课件325P)
- 2022年《旅游景区游客容量计算通用规范》
- LNG接收站运行仿真系统设计
评论
0/150
提交评论