面向对象技术第一章绪论jsp精品PPT课件

合集下载

第1讲面向对象技术概论PPT课件

第1讲面向对象技术概论PPT课件

汽车
灯泡
扳手
农村
共产主义
对象
对象在三个世界中的含义
客观世界:
(客观事物)
主观世界: 汽车
(概念)
灯泡
扳手
农村
共产 主义
软件世界: 汽车 灯泡 扳手
(对象)
农村
共产 主义
软件中的对象及性质(1)
软件中对象由一组属性和操作组成。
对象名 属性 操作
对象名称
对象的静态 性质
对象的动态 性质
软件中的对象及性质(2)
2、《The Unified Modeling Language User Guide(UML用户指南)》Jacobson等著, 周伯生等译)机械工业出版社
3、《The Unified Modeling Language Reference Manual(UML参考手册)》同上 4、《用J2EE和UML开发Java企业级应用程序》 Khawar等著,康博译)清华大学出版
业务模型 需求模型
逻辑模型 设计模型
实现模型
测试模型
面向对象方法的特点(3) 提高软件可重用性和效率
老软件:
框架 方案
程序
类 文档
继承
新软件:
1.4.2 对象的概念
对象是系统中用来描述客观事物的一个实体,它是构成 系统的一个基本单位。 对象既可以描述客观存在的事物,也可以表示由人主 观构造的抽象观念。

➢ 网站
1、 2、 3、 4、
面向对象方法基础
面向对象方法的含义
在软件开发中,采用与人的思维过程相一致的, 直接面向客观事物,面向所要解决的需求问题,并 用一套对象、类、继承、消息等机制开发软件的 系统性方法。

面向对象课件第一章

面向对象课件第一章

要点二
场景二
图形绘制。假设有一个Shape接口作 为父接口,它有一个draw()方法。可 以创建多个实现类如Circle、 Rectangle等,并分别实现draw()方 法来绘制不同的图形。这样可以通过 Shape类型的引用来指向不同的实现 类对象,并调用它们的draw()方法, 从而实现多态。
要点三
将一个复杂对象的构建与它的表 示分离,使得同样的构建过程可 以创建不同的表示,适用于需要 构建复杂对象且构建过程需要灵 活控制的场景。
观察者模式
定义对象间的一种一对多的依赖 关系,当一个对象的状态发生改 变时,所有依赖于它的对象都得 到通知并被自动更新,适用于实 现事件驱动编程、GUI系统、异 步编程等场景。
尽量减小try语句块的范围,只 包含可能抛出异常的代码,避
免捕获不必要的异常。
合适的异常类型
根据具体情况选择合适的异常 类型,避免抛出过于笼统的异 常。
提供详细的错误信息
在抛出异常时,提供详细的错 误信息,有助于定位和解决问 题。
避免空catch块
避免编写空的catch块,应该至 少记录错误信息或采取其他恢 复措施。
实现方式
多态的实现通常依赖于继承和方法重写。当一个子类重写父类的方法时,如果通过父类类型的引用来调用该方法, 将会执行子类中的方法实现。此外,还可以使用接口来实现多态,即一个类可以实现多个接口,并且可以根据实 际对象的类型来调用相应的方法。
应用场景举例
要点一
场景一
动物类与子类。假设有一个Animal类 作为父类,它有一个eat()方法。可以 创建多个子类如Dog、Cat等,并分 别重写eat()方法来实现不同的吃东西 的行为。这样可以通过Animal类型的 引用来指向不同的子类对象,并调用 它们的eat()方法,从而实现多态。

面向对象技术概述.pptx

面向对象技术概述.pptx
面向对象方法的目的在于使分析、设计和实现一个软件系 统的过程与人类认识这个系统的过程同步,使用与人类认知 规律相近的方法和方式进行软件开发工作。
面向对象=对象+类+继承+通信
1.1.1 人类认知规律 1.1.2 面向对象基本原理 1.1.3 认知规律与面向对象 1.1.4 面向对象软件开发
第2页/共54页
类“职员”和“学生”的任何实例都具有类“人” 的属性和行为,即任一职员或学生都是“人”的一个 实例,因此类“人”相对类“职员”和“学生” 是具 有一般性质的类。“职员”和“学生”两类相对类 “人” 具有特殊性,它们之间构成一般特殊关系。
第14页/共54页
形式化的属性与 行为描述,风格 接近实现代码
2024/10/9
14
1.2.1 对象-3/5
1.对象的形态与静态特征(2)
Class CBook { char m_pczName; int m_nPages; int m_nEdition; …… } …… CBook b;
程序中的 类与对象
人们往往根据对象之间的各种关系去认识和描述一个复杂对象或系 统,因此,描述对象之间的各种静态联系将形成系统的内部结构。
对象间相互联系可以分类,这种划分与观察问题的角度有关,面向 对象方法学根据人类认知规律,将这些关系划分为一般-特殊、整体-部 分、实例链接三类。与此相应,具有上述关系的对象在系统或复杂对象 内部形成相应结构:一般与特殊结构、整体与部分结构以及关联结构。
[打印机忙] 暂存(文件)
e v e n t1
1
2
e v e n t2 3
2024/10/9
使用事件踪迹图描 受外界影响后属
性的变化
返回消息与事 件

第1章面向对象软件开发概述1精品PPT课件

第1章面向对象软件开发概述1精品PPT课件
(5) 继承是面向对象方法中除封装外的另一个 重要特性,通过继承可以很方便地实现应用的 扩展和已有代码的重复使用,在保证质量的前 提下提高了开发效率。
面向对象程序设计是将数据及数据的操作封装
在一起,成为一个不可分割的整体,同时将具有相同 特征的对象抽象成为一种新的数据类型——类。通过 对象间的消息传递使整个系统运转。通过对象类的继 承提供代码重用的有效途径。
当对象A是对象B的特例时,称对象A继承了对 象B。
实际上,这里所说的对象间的继承关系就是后 面要详细介绍的类间的继承关系。作为特例的类称为 子类,而子类所继承的类称为父类。父类是子类公共 关系的集合,子类将在父类定义的公共属性的基础上 ,根据自己的特殊性特别定义自己的属性。
3. 关联
当对象A的引用是对象B的属性时,称对 象A和对象B之间是关联关系。所谓对象的引 用是指对象的名称、地址、句柄等可以获取或 操纵该对象的途径。
1.4.2 对象的关系
一个复杂的系统必然包括多个对象,这 些对象间可能存在的关系有三种:包含、继承 和关联。
1. 包含
当对象A是对象B的属性时,称对象B包 含对象A。
当一个对象包含另一个对象时,它将在 自己的内存空间中为这个被包含对象留出专门 的空间,即被包含对象将被保存在包含它的对 象内部。
2. 继承
图1.1 对象、实体与类
1.4 对象的属性与相互关系
1.4.1 对象的属性 状态和行为是对象的主要属性。
状态:又称为对象的静态属性,主要指对象内 部所包含的各种信息,也就是变量。
行为:对象的操作,表述对象的动态属性,通 过行为设置或改变对象状态。
图1.2 对象的属性
“对象”是现实世界的实体或概念在计算机逻 辑中的抽象表示。最主要的特点是以数据为中 心,它是一个集成了数据和其上操作的独立、 自恰的逻辑单位。

面向对象课件(第一章)

面向对象课件(第一章)

属性赋值
在创建对象时,可以为对 象的属性赋值,以初始化 对象的属性值。
方法调用
对象可以调用其所属类的 方法,以执行相应的操作。
属性和方法
属性
访问修饰符
属性是对象的状态信息,它描述了对 象的基本特征。
类的属性和方法可以通过访问修饰符 来控制它们的可见性和访问权限。
方法
方法是对象的行为,它定义了对象可 以执行的操作。
继承
继承是从已有的类派生出新的类,新类继承了父类的属性和方法,并且 可以添加或覆盖父类的行为。继承有助于代码的重用和扩展。
03
多态
多态是指一个接口可以有多种实现方式,或者一个对象可以有多种形态。
多态可以提高代码的灵活性和可扩展性,使程序能够更好地适应变化。
面向对象编程的基本概念
类(Class)
类是对象的模板或蓝图,它定义了对象的属性和方法。类是一种抽象 的概念,它描述了一组具有相似属性和行为的对象的共同特征。
封装的使用方式
使用访问修饰符
在面向对象编程语言中,可以使 用访问修饰符(如public、
private、protected)来控制对 象的属性和行为的可见性,实现
封装。
定义接口
通过定义接口,规定对象的行为 和属性,实现对象之间的交互和
通信。
继承和多态
通过继承和多态等面向对象特性, 可以在不改变原有代码的基础上 对对象进行扩展和维护,实现封
能。
增强代码可维护性
02
如果父类的代码发生变化,只需修改一处,即可影响所有继承
自该父类的子类。
实现多态性
03
通过继承,可以实现多态性,使得子类可以以自己的方式实现
父类的方法,提高代码的灵活性和可扩展性。

第一章面向对象软件开发概述精品PPT课件

第一章面向对象软件开发概述精品PPT课件
程序结构:
– 按功能划分为若干个基本模块,形成一 个树状结构。
– 各模块间的关系尽可能简单,功能上相 对独立;每一模块内部均是由顺序、选 择和循环三种基本结构组成。
– 其模块化实现的具体方法是使用子程序。
前一页 休息
北京邮电大学
8
程序设计方法的发展历程
——面向过程的结构化程序设计方法
优点:
有效地将一个较复杂的程序系统设计 任务分解成许多易于控制和处理的子任务, 便于开发和维护。
的 同的数据类型或表现出不同的行为。 方 这使得同一个属性或行为在一般类及 法 其各个特殊类中具有不同的语义。
第一章 面向对象软件开发概述
本章主要内容
计算机程序设计语言的发展 面向对象的方法 面向对象的软件开发 程序的开发过程

计算机程序



计算机的工作是用程序来控制的


程序是指令的集合。
发 展
指令是计算机可以识别的命令。
前一页 休息
北京邮电大学
2
机器语言与汇编语言

算 机
语 言
由计算机硬件系统可以识别的二进制指 令组成的语言称为机器语言。
前一页 休息
北京邮电大学
15
面向对象的基本概念

——类

对 面向对象方法中的"类"

– 具有相同属性和服务的一组对象的集合
的 方 法
– 为属于该类的全部对象提供了抽象的描述, 包括属性和行为两个主要部分。
– 类与对象的关系:
犹如模具与铸件之间的关系,一个属于某
类的对象称为该类的一个实例。
前一页 休息
前一页 休息
北京邮电大学

第1章 面向对象程序设计概述精品PPT课件

第1章 面向对象程序设计概述精品PPT课件

一个类的不同实例具有相同的操作和相同的属性 定义,但属性值可以不同;不同的实例具有不同的 对象标识。对于学生类中的每一个对象,描述它们 所使用的数据结构相同,但是其值不同。
一个类的定属性定义或结构的定义。
(2) 该类所有实例的操作(或行为)的定义。
在面向对象程序设计中, “类”是具有相同数 据和操作的一组对象的集合.
在C++语言中,一个类的定义包含数据成员和 函数成员两部分内容。数据成员定义该类对象的属 性,不同的对象属性的值可以不同;函数成员定义 了该类对象的操作。
在程序设计中, 总是先声明类, 再由类生成对象. 类是建立对象的“模板”, 按照这个模板所建立的 一个个具体的对象, 就是类的实际例子, 通常称为实 例.
2. 类
人们在认识客观世界的事物时总是采取分类思 想, 即人们在认识事物时总是将具有相同特征的事物 归为一类,属于某类的一个事物具有该类事物的共 同特征。在现实世界中, “类”是一组具有相同属 性和行为的对象的抽象。
类和对象之间的关系是抽象和具体的关系。类是 多个对象进行综合抽象的结果,一个对象是类的一个 实例。对于学籍管理系统,学生是一个类,而一个 具体的学生则是学生类的一个实例。
1. 抽 象
忽略事物中与当前目标无关的的非本质特 征,只注意那些与当前目标有关的本质特 征,从而找出事物的共性,得出一个抽象 的概念。
例如,汽车、房屋、学生等都是人们在长 期的实践中抽象出的概念。
抽象的内容:
属性抽象 ( 数据抽象 ) 行为抽象 ( 代码抽象 )
汽车
司机 (1) 共同的属性: 换档方式, 排量, 速度, ... ... (2) 共同的行为: 加油, 刹车, 转向, ... ...
1. 对象
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java虚拟机(Java virtual machine)
public class aaa {
... }
class bbb {
... }
app.java
编 译 器 编 译 器
byte-codes
直 译 器 直 译 器
app.class
010001010101011100 1000101001010100011 000101010101010010
1995.12 微软(MicroSoft) IE加入支持Java的行 列。
1996.2 Java Beta测试版结束,Java 1.0版正 式诞生。
1997.2 Java急速发展至1.1版,届时分为 Personal Java和Embedded Java两大派。 1999.7 升级成1.2版。
2000.9 升级至1.3版。
Java Bytecode (Platform Java Interpreter
Independent) (Power PC)
Compiler(Power PC)
Compiler (SPARC)
Java 程序
Java Interpreter (SPARC)
Java 程序 Java程序
编译器 编译器
Java的来历
Java的故事
Sun Microsystems, Inc. -- Palo Alto, Silicon Valley, USA.
印度橡树 Oak programming language
Java的发展史
1991年 Sun 公司进军消费电子产品(IA)市场。
1991.4 Sun成立“Green”小组,以C++为基础 开发新的程序语言,James Gosling取名时看 到窗口橡树,即命名为Oak。
Java的特点
Java是一种简单的、分布式的、编译解释型 的、健壮的、安全的、可移植的、高性能的 语言。 ● 可移植性
(1)程序的可移植性:指程序不经过修改而在不同 的硬件或软件平台上运行的特性。
(2)可移植性在一定程度上决定了程序的可应用性。 (3)可移植性包括二个层次:源代码级和二进制级
的可移植性。
2001.7 升级到1.4版,并形成J2EE、J2SE 与J2ME体系。 Java2 Software Development Kit,Enterprise Edition
Java2 Software Development Kit,Standard Edition
Java2 Software Development Kit,Micro Edition
Java程序运行的过程必须先经过编译,然后解释
任何一种可以运行Java程序的软件均可看成“Java“虚 拟机”(JVM),如浏览器与Java的开发工具等皆可视为 一部JVM。把Java的byte-codes看成是JVM所运行 机器码(machine code)。
Your code
Binary File (Pentium)
1992.10 Green小组组员在印尼爪哇岛度假喝 咖啡时灵机一动,将这种技术转移到web上,并 把Oak改名为Java。
1993~4 web 在 Internet上开始流行,Java一 炮而红。 1995.5 Sun公司正式发表Java与HotJava产品。
1995.10 网景(Netscape)与Sun公司合作,在 Netscape Nevigator中支持Java。
Compiler (Pentium)
Binary File (Power PC)
Compiler(Power PC)
Binary File (SPARC)
Compiler (SPARC)
多道系统的多道可执行程序
Your code
Compiler (Pentium)
Java Interpreter (Pentium)
(4)Java是完全面向对象的,它是最容易学习 的面向对象的编程语言之一,同时它还提供了大 量可重用的类库。
直 直译 译器 器 Windows NT 操 W 作作 i业 nd环 环 ow境 境s NT
直译器 直译器 Sun Solaris S作 操u业 n作S环 环 ol境 a境ris
“编写一次,到处运行” (write once, run anywhere)
直 直译 译器 器 麦金塔 作 操 麦业 作 金环环 塔境境
• 字节码校验器 • 运行时内存布局 • 类装载器 • 文件访问限制
● 简单易学 (1)Java的风格类似于C++,在一定意义上
它是C++的一个变种。
(2)Java摈弃了C++中容易引发错误的地方。 如指针、内存管理等。
(3)Java提供了自动内存垃圾搜集机制,减轻 了程序员的进行内存管理的负担,有助于减少软 件错误。
面向对象程序设计与Java语言
学习目标
• 了解Java的诞生和发展 • 了解Java的特点 • 掌握典型的Java程序开发环境 • 第一个Java应用程序
面向对象技术是程序设计方法学的一 场革命,已成为计算机应用开发领域的 主流技术。面向对象技术能够更逼真地 模拟现实世界,使软件开发人员按照认 识客观事物的思维方法进行软件开发, 它所倡导的将数据与操作捆绑的程序设 计风格,正好符合现代大规模软件开发 对高可靠性、易维护性和代码重用性的 要求和发展潮流。Java语言是21世纪开 发应用程序的首选工具。
C、C++仅有一定的源代码级的可移植性。
● 面向对象
Java 是面向对象的。面向对象的编程语言支 持三个概念:
封装
多态性
继承
对象有(属性:数据 和 行为:程序代码) 属性和行为它们共同构成计算机程序。
面向对象的编程语言支持公式: 程序 =对象 +消息
Java的面向对象的概念是从C++继承的。
Java包括一组类库,该类库提供基本数据类 型,系统输入与输出能力以及其他实用函数。 ● 稳定性和安全性
(1)C++程序在稳定性方面的问题在于其指针的使用 和缺乏自动的内存管理。Java为此有三个措施:
a. Java 不支持指针数据类型 b. 提供了数组下标的检查机制 c. 提供自动内存管理机制
(2)Java的语言特征和运行时环境保证了 Java代码具有其良好的语言特性。 Java还提供了以下安全保障机制:
相关文档
最新文档