收藏 分享(赏)

ch1 面向对象开发方法概述.ppt

上传人:精品资料 文档编号:10538498 上传时间:2019-11-26 格式:PPT 页数:29 大小:289.50KB
下载 相关 举报
ch1 面向对象开发方法概述.ppt_第1页
第1页 / 共29页
ch1 面向对象开发方法概述.ppt_第2页
第2页 / 共29页
ch1 面向对象开发方法概述.ppt_第3页
第3页 / 共29页
ch1 面向对象开发方法概述.ppt_第4页
第4页 / 共29页
ch1 面向对象开发方法概述.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、面向对象开发方法概述,主要内容,关于Java语言 课程目标 面向对象开发方法概述 结构化 面向对象 面向对象开发中的核心,关于Java语言,Java的发展史:,关于Java语言,Java语言的特点:(Java白皮书) 简单的 面向对象的 分布式的 解释型的 安全和健壮的 体系结构是中立的 可移植的 高效的 多线程的 动态的,Java是简单的,与流行的面向对象的C相比,要简单 去除指针 利用接口取代多重继承 采用自动内存分配和回收,Java是面向对象的,面向对象的基本特点:封装、继承、多态 Java是: 完全面向对象 一切都是对象 使用面向过程的程序设计语言开发的软件系统是以过程实例为基础的;

2、面向对象的程序设计是以对象为模型描述现实世界的,世界上的任何事物都能抽象为对象 用Java写程序主要进行对象的创建、对象的处理,并使对象协调工作,Java是分布式的,核心类库中包含对网络的支持 带有功能强大的用于处理TCP/IP协议的例程库(HTTP、SMTP、FTP等协议的类库) 提供的Socket类、远程调用机制能很方便进行分布式对象间的通信,Java是解释型的、体系中立的、可移植的,一般程序执行模型: 编译:,一般程序执行模型: 编译: 主要优点: 可执行全方位的静态分析 进行优化处理 效率较高 商业上的保密性 主要缺点: 平台相关性,Java是解释型的、体系中立的、可移植的,一般程序执

3、行模型: 解释:直接解析并执行源代码,不产生机器码 错误只在运行期间发现 平台无关 需要交付源码 执行速度较编译方式慢,Java是解释型的、体系中立的、可移植的,Java虚拟机(JVM): 上述两种传统方法无法兼顾:平台无关和高效 JVM:抽象机器,附在操作系统之上,本身具有一套虚拟机器指令,并有自己的栈、寄存器组等 Java程序的编译运行: 介于编译、解释之间 Java程序编译运行图:,Java是解释型的、体系中立的、可移植的,Java是解释型的、体系中立的、可移植的,Java虚拟机: Java程序的执行分两个阶段: 编译阶段:将源码编译成字节码(*.class) 字节码Java虚拟机的机器

4、码 执行阶段:将平台无关的字节码解释执行 解释:在特定平台上,由JVM中的解释器解释并执行字节码; JIT编译:利用即时编译器将字节码即时编译成本地机器码,然后执行 直接执行:Java芯片的特殊平台,Java是解释型的、体系中立的、可移植的,Java是安全的,不支持指针,杜绝对内存的非法访问 自动单元收集制度,防止内存泄漏 采用基于“不存在可信任的代码”的概念,进行实施检查字节码检验器 执行多层安全机制用以保护系统不受恶意程序破坏 字节码校验器 类装载器:来自网络的类装载到单独的内存区 运行时内存布局 文件访问机制,Java是健壮的,Java编译器能查出许多其他语言运行时才能发现的错误; Ja

5、va中丢弃了其他语言中容易引起错误的某些程序概念类型 Java具有实时异常处理的功能,Java的效率,Java是解释型的,其速度不如C+之类的编译语言,但其速度足以满足大多数交互应用程序的要求 新的JDK使用了一种“实时编译”的技术 将字节码编译存储成本地机器码 执行字节码时,重调用本地码,Java是多线程的、动态的,多线程的: 能同时执行多个任务 在GUI和网络程序设计中非常又用 动态的: 运行时,Java可以根据需要来装载类,课程目标,Java不再仅仅是语言,而是指整个Java平台、Java技术,包括: 编程语言 APIs JVM虚拟机 课程内容: entire programming a

6、nd runtime environment,课程目标,课程目标: 熟悉Java语法,熟练地编译、调试程序 按OO思想快速理解JDK类库及第三方的类库,通过阅读JavaDoc和相关文档,掌握类库的基本使用 理解JVM和Java程序的原理 按照OO思想分析问题,设计对象模型。理解可重用性、可维护性,面向对象开发方法概述,结构化软件开发方法: 按功能划分软件结构 首先考虑整个软件系统的功能 然后按照模块划分的基本原则对功能分解,面向对象开发方法概述,结构化软件开发方法: 存在的问题: 自顶向下的设计,在设计阶段不得不考虑如何实现系统的功能 不能灵活地适应用户不断变化的需求(新增或修改部分功能,需要

7、自顶向下的修改,甚至推翻原有的整个软件设计),面向对象开发方法概述,面向对象的软件开发方法简介: 基本思想: 把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能组合成更复杂的子系统 对象模型: 自低向上的抽象: 把问题领域中的事物抽象为有特定属性和行为的对象 把具有相同属性和行为的对象抽象为类 若多个类间存在一些共性,把这些共性抽象到父类中 自顶向下的分解:逐步细化 例如:计算机系统主机、键盘、打印机等对象主机处理器、内存、硬盘、主板等对象,面向对象开发中的核心思想和概念,在面向对象的软件开发中,开发者主要任务是: 先建立模拟问题领域的对象模型 然后通过程序代码来实现对象模型

8、 对象模型的主要内容: 类以及类的关系,面向对象开发中的核心思想和概念,核心思想及基本概念: 问题领域:软件系统所模拟的真实世界的系统 对象:对问题领域中事物的抽象 万物都是对象 每个对象都是唯一的,可区分的 对象具有属性和行为 对象具有状态(状态:某个瞬间对象各个属性的取值) 对象都属于某个类,面向对象开发中的核心思想和概念,核心思想及基本概念: 类:具有相同属性和行为的对象的集合 同一个类的所有实例具有相同的属性,但它们的状态不一定相同,即属性的取值不一定相同 同一个类的所有实例包括类本身的所有实例,以及其子类的所有实例 消息、服务: 软件系统的复杂功能是多个对象协同工作完成的 服务:每个

9、对象都有特定的功能,相对于其他对象而言,这些功能就是为其他对象提供的服务(对象方法) 消息:为了获得服务,而提出的获得服务的请求(方法调用),面向对象开发中的核心思想和概念,核心思想及基本概念: 接口: 每个对象都有接口 接口是一个抽象概念,指系统对外提供的所有服务 接口描述能够提供哪些服务,但不含服务的实现细节 站在使用者的角度:对象中所有向使用者公开的方法的声明构成对象的接口,面向对象开发中的核心思想和概念,核心思想及基本概念: 封装(透明): 隐藏对象的属性和实现细节,仅对外公开接口 封装的两大原则: 把尽可能多的东西藏起来,对外提供简捷的接口 把所有的属性藏起来 示例:,/半自动 Ha

10、lfWasher washer=new HalfWasher(); washer.on(); /洗涤 washer.inputWater(); washer.setTimer(5); washer.wash(); washer.dischargeWater(); /清洗 washer.inputWater(); washer.setTimer(5); washer.wash(); washer.dischargeWater(); /脱水 Washer.setTimer(3); Washer.dehydrate(); Washer.off();,/全自动 AutoWasher washer=new AutoWasher(); washer.on(); washer.setMode(1); /标准模式 washer.start();,面向对象开发中的核心思想和概念,核心思想及基本概念: 继承、扩展、覆盖: 子类继承了父类的属性和方法 子类扩展出新属性和方法 子类可以覆盖父类中方法的实现方式,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报