江苏海洋大学(淮海工学院):《Java面向对象程序设计》课程教学资源(PPT课件讲稿)第3章 Java 面向对象编程 3.1 面向对象软件开发概述

第3章Java面向对象编程 n nsS Java面向对象程序设计 图
Java面向对象程序设计 第3章 Java 面向对象编程

31面向对象软件开发概述 n nsS Java面向对象程序设计 图
Java面向对象程序设计 3.1 面向对象软件开发概述

311面向对象程序设计基本概念 n nsS Java面向对象程序设计 图
Java面向对象程序设计 3.1.1 面向对象程序设计基本概念

311面向对象程序设计基本概念 (1)程序设计方法的发展 设计方法 特点 代表性语言 用机器指令为特定硬件系统编制程序。其目标代码短,运行速度和 面向机器 效率高,但可读性和移植性差。 86系列汇编语言 用高级程序设计语言按计算机能够理解的逻辑来描述要解决的问题 Fortran(50年代) 面向过程及其解决方法。是过程驱动的,程序的可读性和移植性好,核心是 Basc(60年代) 数据结构和算法。但大型程序维护起来比较困难。 C(70年代) 用面向对象的编程语言把现实世界的实体描述成计算机能理解、可 C++(80年代) 面向对多操作的、具有一定属性和行为的对象,将数据及数据的操作封装在 Python(90年代) 一起,通过调用各对象的不同方法来完成相关事件。是事件驱动的 Java(90年代 其核心是类和对象,程序易于维护、扩充。 n Java面向对象程序设计 图
Java面向对象程序设计 3.1.1 面向对象程序设计基本概念 设计方法 特点 代表性语言 面向机器 用机器指令为特定硬件系统编制程序。其目标代码短,运行速度和 效率高,但可读性和移植性差。 86系列汇编语言 面向过程 用高级程序设计语言按计算机能够理解的逻辑来描述要解决的问题 及其解决方法。是过程驱动的,程序的可读性和移植性好,核心是 数据结构和算法。但大型程序维护起来比较困难。 Fortran(50年代) Basic(60年代) C(70年代) 面向对象 用面向对象的编程语言把现实世界的实体描述成计算机能理解、可 操作的、具有一定属性和行为的对象,将数据及数据的操作封装在 一起,通过调用各对象的不同方法来完成相关事件。是事件驱动的, 其核心是类和对象,程序易于维护 、扩充。 C++(80年代) Python(90年代) Java( 90年代) (1)程序设计方法的发展

31面向对象程序设计基本概念 (2)什么是“面向对象程序设计”? 面向对象程序设计( Object Oriented Programming,OOP)是种编程架 构,是种运用对象、类、继承、封装、聚合、关联、消息和多态等概念来构 造系统的软件开发方法。 其基本思想包括两个方面: 1)强调从现实世界中客观存在的事物(即对象)出发来构造软件系统 2)在系统构造中尽可能运用人类的自然思维方式 n Java面向对象程序设计 图
Java面向对象程序设计 3.1.1 面向对象程序设计基本概念 (2)什么是“面向对象程序设计” ? 面向对象程序设计(Object Oriented Programming,OOP)是一种编程架 构,是一种运用对象、类、继承、封装、聚合、关联、消息和多态等概念来构 造系统的软件开发方法。 其基本思想包括两个方面: 1)强调从现实世界中客观存在的事物(即对象)出发来构造软件系统 2)在系统构造中尽可能运用人类的自然思维方式

31面向对象程序设计基本概念 (3)面向对象程序设计常用术语 类(dass):是具有相同属性 和操作的一组对象的集合, 对象( object):是系统中 它为属于该类的全部对象提供了 用来描述客观事物的一个实体, 统一的抽象描述,由一个类名 是构成系统的一个基本单位, 一组属性和一组操作构成 由一组属性和施加这组属性的 组操作构成 封装:就是把对象的属性和操作结 合成一个独立的系统单位,并 属性:用来描述对象静态特征 常用 尽可能隐藏对象的内部细节。 (状态)的一个数据项 (Java中称之为:成员变量) 术语 继承:是指特殊类(子类)可以自动拥 有一般类(父类)的全部属性和操作 特殊类可以有自己定义的属性和操作 继承关系是代代传递的 操作:用来描述对象动态特 多态:是指在一般类中定义的属性 征(行为)的一个动作系列 或操作被特殊类继承之后,可以 (Java中称之为:方法) 具有不同的数据类型或表现 出不同的行为 n Java面向对象程序设计 图
Java面向对象程序设计 3.1.1 面向对象程序设计基本概念 (3)面向对象程序设计常用术语 类(class):是具有相同属性 和操作的一组对象的集合, 它为属于该类的全部对象提供了 统一的抽象描述,由一个类名、 一组属性和一组操作构成。 封装:就是把对象的属性和操作结 合成一个独立的系统单位,并 尽可能隐藏对象的内部细节。 继承:是指特殊类(子类)可以自动拥 有一般类(父类)的全部属性和操作。 特殊类可以有自己定义的属性和操作, 继承关系是代代传递的。 多态:是指在一般类中定义的属性 或操作被特殊类继承之后,可以 具有不同的数据类型或表现 出不同的行为。 对象(object):是系统中 用来描述客观事物的一个实体, 是构成系统的一个基本单位, 由一组属性和施加于这组属性的 一组操作构成。 属性:用来描述对象静态特征 (状态)的一个数据项。 (Java中称之为:成员变量) 操作:用来描述对象动态特 征(行为)的一个动作系列。 (Java中称之为:方法) 常用 术语

311面向对象程序设计基本概念 Student s1= new Student(“张三”) 计算机世界 现实世界 映射 对象 实体 头 抽 抽象 化 计算机逻辑的实现 抽象数据类 概念世界 Class Student{……} 学生 实体、对象与类的关系示意图 Java面向对象程序设计 图
Java面向对象程序设计 3.1.1 面向对象程序设计基本概念 Class Student { …… } Student s1=new Student (“张三”) 学生 实体、对象与类的关系示意图 对象 类 计算机世界 实体 现实世界 抽象数据类 概念世界 实 例 化 抽 象 映射 计算机逻辑的实现 抽象

311面向对象程序设计基本概念 ◆如何理解并区分“对象”? 对象的身份是什么?—对象标识(名称) 对象的状态是什么?—属性 对象的行为是什么?—方法 一方面特征 n Java面向对象程序设计 图
Java面向对象程序设计 3.1.1 面向对象程序设计基本概念 ◆ 如何理解并区分 “对象”? 对象的状态是什么?——属性 对象的身份是什么?——对象标识(名称) 对象的行为是什么?——方法 三 方 面 特 征

31.1面向对象程序设计基本概念 ◆对象之间的关系 ·包含聚合/组合](整体部分结构)——当对象A是对象B的组成[可独立存在/不可 独立存在]部分时,称对象B包含对象A 如:学生和班级,CPU与计算机 继承(一般特殊结构)——当对象A是对象B的特例时,称对象A继承了对象B; 如:北京大学和大学,液晶显示器和显示器。 关联[依赖——当对象A拥有[使用]对象B时,称对象A和对象B之间是关联关系。 如:计算机与制造商,学生和班主任 n Java面向对象程序设计 图
Java面向对象程序设计 • 包含[聚合/组合](整体-部分结构)——当对象A是对象B的组成[可独立存在/不可 独立存在]部分时,称对象B包含对象A; 如:学生和班级, CPU与计算机 • 继承(一般-特殊结构)——当对象A是对象B的特例时,称对象A继承了对象B; 如:北京大学和大学,液晶显示器和显示器。 • 关联[依赖]——当对象A拥有[使用]对象B时,称对象A和对象 B之间是关联关系。 如:计算机与制造商,学生和班主任 3.1.1 面向对象程序设计基本概念 ◆ 对象之间的关系

311面向对象程序设计基本概念 面 1面向对象的分析( Object Oriented Analysis,OOA) 向 对 分析用户需求,从问题中抽取对象模型 象 的 2面向对象的设计( Object Oriented Design,OoD) 软 件 将模型细化,设计类,包括类的属性和淡之间的相互关 开 系,同时考察是否有可以直接引用的已有类或部件 发 过3面向对象的编程实现( Object Oriented P rogramming,oop 程 选种面向对象的编程语言,具体编码实现上一阶段类 的设计,并在开发过程中引入测试,完善整个解决方案。 n nsS Java面向对象程序设计 图
Java面向对象程序设计 3.1.1 面向对象程序设计基本概念 面 向 对 象 的 软 件 开 发 过 程 3 面向对象的编程实现(Object Oriented Programming,OOP) 1 面向对象的分析(Object Oriented Analysis,OOA) 2 面向对象的设计(Object Oriented Design,OOD) 选一种面向对象的编程语言,具体编码实现上一阶段类 的设计,并在开发过程中引入测试,完善整个解决方案。 分析用户需求,从问题中抽取对象模型。 将模型细化,设计类,包括类的属性和类之间的相互关 系,同时考察是否有可以直接引用的已有类或部件
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 利用NetRiver实验系统实现IP协议交互和TCP协议交互.ppt
- 《软件工程简介》课程PPT教学课件(可行性研究、需求分析、总体设计、详细设计).ppt
- ARM Tachnology:Chapter 3 STM32 Clock and Configuration.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)循环与分支程序设计.ppt
- 香港科技大学:Latent Tree Models.pptx
- Network and System Security Risk Assessment(PPT讲稿)Introduction.ppt
- 复旦大学:Trapping in scale-free networks with hierarchical organization of modularity.pptx
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第十章 下一代因特网.ppt
- 卷积码的概率译码(PPT讲稿).ppt
- 《ASP动态网页设计实用教程》教学资源(PPT课件讲稿)第8章 Web数据库基础.ppt
- Lower bound for sorting, radix sort.ppt
- 数据传送类指令(PPT讲稿).ppt
- 长春工业大学:《电子商务》课程教学资源(PPT课件)第9章 网络鞋城前台页面.ppt
- 因特网多媒体技术(PPT讲稿).ppt
- International Trade Forms.ppt
- 香港理工大学:Building Robust Wireless LAN for Industrial Control with DSSS-CDMA Cell Phone Network Paradigm.ppt
- 香港浸会大学:《Experiencing Cluster Computing》Class 8 Case Studies.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)动态调度(Cont)、推断执行和ILP.ppt
- 《多媒体教学软件设计》课程PPT教学课件:第13章 多媒体教学软件中脚本编程技巧.ppt
- 山西国际商务职业学院:《网页设计与制作》课程教学资源(PPT课件)第一章 网页设计基础知识.ppt
- 《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿)第2章 图像的基本知识及运算.ppt
- 西安电子科技大学:《操作系统 Operating Systems》课程教学资源(PPT课件讲稿)Chapter 02 进程和线程 Processes and Threads.ppt
- 《计算机辅助设计 Computer Aided Design》课程PPT教学课件:第一篇 CAD技术 第一章 几何造型方法介绍和分类.ppt
- 清华大学:高校信息门户建设(PPT讲稿).ppt
- 《汇编语言》课程PPT教学课件:第三章 80x86寻址方式和指令系统.ppt
- 《网站设计与建设 Website design and developments》课程教学资源(PPT课件讲稿)第一部分 Web基础知识 第3章 图形与Web设计.ppt
- 香港城市大学:Introduction to Real-Time Systems(Design and Analysis of Algorithms).pptx
- 《编译原理》课程教学资源(PPT课件讲稿)第五章 语法分析——自下而上分析.ppt
- 香港科技大学:Advanced Topics in NextGeneration Wireless Networks.ppt
- 复旦大学:《数据库基础与应用》课程PPT教学课件(Access案例教程)第1章 数据库基础知识.pptx
- Transport Layer Identification of P2P Traffic.ppt
- 上海交通大学:Basic Raster Graphics Algorithms for Drawing 2D Primitives.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)第七章 中间代码生成.ppt
- 《MATLAB应用基础》课程教学资源(PPT课件讲稿)第4章 MATLAB的数值计算.ppt
- 安徽广播影视职业技术学院:《ASP动态网页设计实用教程》课程教学资源(PPT讲稿)第1章 ASP基础(贾海陶).ppt
- 白城师范学院:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第六章 关系数据理论.pptx
- 中国科学技术大学:《数据结构及其算法》课程电子教案(PPT课件讲稿)第三章 栈和队列.pps
- 北京大学SAS俱乐部:SAS软件会员培训(PPT讲稿)SAS编程语言入门.ppt
- 泛型编程 Generic Programming(PPT讲稿)Templates.ppt
- 西安电子科技大学:《Mobile Programming》课程PPT教学课件(Android Programming)Lecture 9 Service and Broadcast Receiver.pptx