Java織程教术基础 第一章面向对象原理与实现 索迪教育
索迪教育 Java编程技术基础 第一章 面向对象原理与实现
我们的目标 >了解软件危机 >了解面向过程的软件设计方法 了解面向对象的软件设计方法 熟悉面向对象系统的基本概念 >了解Java程序的基本设计方法 索迪教育
索迪教育 我们的目标 ➢ 了解软件危机 ➢ 了解面向过程的软件设计方法 ➢ 了解面向对象的软件设计方法 ➢ 熟悉面向对象系统的基本概念 ➢ 了解 Java 程序的基本设计方法
T技术的发展与软件危机 >随着计算机硬件技术的飞速发展,计算机的容量、速 度迅速提高,计算机取得了越来越广泛的应用,这就 对软件开发提出了更高的要求 然而软件技术的进步却远远滞后于硬件技术的进步, 人们常常无法控制软件开发的周期和成本,软件的质 量总是不尽人意,经常是用之不灵、弃之可惜,有的 软件甚至无法交付,这种状况人们称之为“软件危机” 索迪教育
索迪教育 IT 技术的发展与软件危机 ➢ 随着计算机硬件技术的飞速发展,计算机的容量、速 度迅速提高,计算机取得了越来越广泛的应用,这就 对软件开发提出了更高的要求 ➢ 然而软件技术的进步却远远滞后于硬件技术的进步, 人们常常无法控制软件开发的周期和成本,软件的质 量总是不尽人意,经常是用之不灵、弃之可惜,有的 软件甚至无法交付,这种状况人们称之为“软件危机
面向过程的软件设计方法 为了摆脱软件危机,必须按照工程化的原则和方法来 组织软件开发工作 二十世纪七十年代流行的面向过程的软件设计方法, 目的主要是解决面向过程语言系统的设计问题 ■它主要强调程序的模块化和自顶向下的功能分解 在涉及大量计算的算法类问题上,从算法的角度揭 示事物的特点,面向过程的分割是合适的 索迪教育
索迪教育 面向过程的软件设计方法 ➢ 为了摆脱软件危机,必须按照工程化的原则和方法来 组织软件开发工作 ➢ 二十世纪七十年代流行的面向过程的软件设计方法, 目的主要是解决面向过程语言系统的设计问题。 ◼ 它主要强调程序的模块化和自顶向下的功能分解 ◼ 在涉及大量计算的算法类问题上,从算法的角度揭 示事物的特点,面向过程的分割是合适的
面向过程的软件设计方法 >但是现在的软件应用涉及社会生活的方 方面面,面对变动的现实世界,面向过 程的设计方法暴露出越来越多的不足 例如 yBILL 功能与数据分离,不符合人们对现实 世界的认识,要保持功能与数据的相 容也十分困难 ■基于模块的设计方式,导致软件修改 困难 自顶向下的设计方法,限制了软件的 可重用性,降低了开发效率,也导致 最后开发出来的系统难以维护 索迪教育
索迪教育 面向过程的软件设计方法 ➢ 但是现在的软件应用涉及社会生活的方 方面面,面对变动的现实世界,面向过 程的设计方法暴露出越来越多的不足 ➢ 例如 ◼ 功能与数据分离,不符合人们对现实 世界的认识,要保持功能与数据的相 容也十分困难 ◼ 基于模块的设计方式,导致软件修改 困难 ◼ 自顶向下的设计方法,限制了软件的 可重用性,降低了开发效率,也导致 最后开发出来的系统难以维护
面向对家的软件开发方法 >为了解决结构化程序设计的这些问题,面向对象的技 术应运而生。 >它是一种非常强有力的软件开发方法 它将数据和对数据的操作作为一个相互依赖、不可 分割的整体,采用数据抽象和信息隐蔽技术,力图 使对现实世界问题的求解简单化 它符合人们的思维习惯,同时有助于控制软件的复 杂性,提高软件的生产效率,从而得到了广泛的应 用 >面向对象的技术是目前最为流行的一种软件开发方法 索迪教育
索迪教育 面向对象的软件开发方法 ➢ 为了解决结构化程序设计的这些问题,面向对象的技 术应运而生。 ➢ 它是一种非常强有力的软件开发方法 ◼ 它将数据和对数据的操作作为一个相互依赖、不可 分割的整体,采用数据抽象和信息隐蔽技术,力图 使对现实世界问题的求解简单化 ◼ 它符合人们的思维习惯,同时有助于控制软件的复 杂性,提高软件的生产效率,从而得到了广泛的应 用 ➢ 面向对象的技术是目前最为流行的一种软件开发方法
面向对泉 >现实世界中所有的事物都是对象 >对象都具有某些特征,并展现某些行为 索迪教育
索迪教育 面向对象 ➢ 现实世界中所有的事物都是对象 ➢ 对象都具有某些特征,并展现某些行为
面向对泉示例 >公司中的不同部门都是对象 会计 人事 销售 索迪教育
索迪教育 面向对象示例 ➢ 公司中的不同部门都是对象 会计 人事 销售
面向对泉示例 >按照实体在现实世界中的表现来实现 >将活动和属性与每一实体相关联 数据 活动 员工详细资料 计算工资 工资结算表 支付工资 票据 会计 支付帐单 凭证 记帐 收据 银行交易 索迪教育
索迪教育 面向对象示例 ➢ 按照实体在现实世界中的表现来实现 ➢ 将活动和属性与每一实体相关联 数据 员工详细资料 工资结算表 票据 凭证 收据 活动 计算工资 支付工资 支付帐单 记帐 银行交易 会计
面向对象系统的基本概念 >可以这样认为:面向对象=对象+类+继承+通信 >如果一个软件系统是使用这样四个概念来设计和实现 的,我们认为这个软件系统是面向对象的 相关概念 对象 类 抽象 继承 封装 ■可重用性 ■多态性 索迪教育
索迪教育 面向对象系统的基本概念 ➢ 可以这样认为:面向对象=对象+类+继承+通信 ➢ 如果一个软件系统是使用这样四个概念来设计和实现 的,我们认为这个软件系统是面向对象的 ➢ 相关概念 ◼ 对象 ◼ 类 ◼ 抽象 ◼ 继承 ◼ 封装 ◼ 可重用性 ◼ 多态性