文档详情

面向对象技术资料.ppt

发布:2016-11-08约字共28页下载文档
文本预览下载声明
2.8.5 多态 public class A { void test(int x) { ?System.out.println(test(int): + x );} ? void test(long x) { ?System.out.println(test(long): + x ); }? ? void test(double x) { System.out.println(test(double): + x); } public static void main (String[] args) { ?? A a1 = new A(); ?? a1.test(5.0); a1.test(5); } } 消息 通常,一个消息由以下几部分组成: (1)提供服务的对象名。 (2)服务的标识,即方法名。 (3)输入信息,即实际参数。 (4)响应结果,即返回值或操作结果。 消息包括 同步消息,请求者需要等待响应者返回 异步消息,请求者不需要等待响应者返回,发出消息后可以继续自己的后续工作(和函数调用有本质区别) 小 结 面向对象程序设计是一种新的程序设计规范,它使用对象、类、继承、封装、消息等基本概念来进行程序的设计。在面向对象方法中需要明确什么是对象,类,以及类的相关特征。 对象是面向对象的基本构造单元。是系统中用来描述客观事物的一个实体,一个对象由一组属性和对属性进行操作的一组方法组成。一个类定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性。 习 题 1.什么是对象,具有什么特征? 2.简述面向对象的开发过程。 3.UML在面向对象开发过程中起到的作用是什么? 4.什么是建模,有什么优点? 5.什么是面向对象技术? * 第2章 面向对象技术概述 重点: 软件工程相关概念 面向对象相关概念 2.1 软件危机与软件工程 软件发展的几个时期 1946(第一台计算机)~1960 “软件”雏形是简单的程序 20世纪60年代末到70年代初 “软件”成为产品 至今 软件工程时期 软件危机 软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题。 如何开发软件,以满足不断增长的、日趋复杂的要求 如何维护规模不断庞大的软件产品 软件工程,由北大西洋公约组织NATO于1968年提出 软件工程是指导计算机软件开发和维护的一门工程学科。 采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 2.1 软件危机与软件工程 软件开发的现状 软件工程学科不断发展 软件危机仍然存在 中小型软件开发较为成熟,大型软件存在问题 常见软件开发方法 瀑布模型 增量模型 原型模型 螺旋模型 (风险驱动) 2.1 软件危机与软件工程 2.2 软件开发的基本认识 大型软件系统的特点 开发代价高、时间长,参与人员多,软件生命周期长。 软件系统开发的两个方面 软件开发过程 软件开发中资源的协调和管理 2.2 软件开发的基本认识 软件是逻辑部件,而不是物理部件,软件产品与硬件产品的区别 表现形式不同 (看不见 ,摸不着,长期运行看效果) 生产方式不同 (人与人的沟通,容易有疏忽与失误) 产品需求不同 (软件不允许有误差) 维护方式不同 (出现bug要调整,进而引发新bug) 2.3 软件固有的复杂性 软件开发的复杂性与困难性是由于软件的特点造成的,软件的复杂性是固有的。 软件复杂性的原因 跟计算机体系结构相关(冯.诺依曼 硬件简单/软件复杂) 软件开发是智力活动,无法形成统一开发模式 软件系统的需求经常改变 软件元素之间的关系不确定 软件依赖硬件环境 2.4 软件工程的一般原则 分解,“分而治之”或“各个击破”,降低复杂性 抽象,抽取系统本质特征,忽略非基本特征 (Miller神奇的数字7) 过程抽象 数据抽象 模块化,基本要求是高内聚、低耦合 信息隐藏,也称封装 (电话) 复用 软件自动化 软件构件组装 结构化的开发方法 SA、SD、SP 特点:面向数据流 DFD?软件结构图SC?优化?划分模块?内部算法和流程 初审 领料单 已审核领料单 复审 发货通知 发货 Jackson方法(不常用) 面向数据结构 (例如,学生信息管理系统,处理各表的输入输出) 面向对象的开发方法 OOA、OOD、OOP 2.5 几种基本的软件开发方法 2.6 面向对象的发展历程 1960-70年代 COBOL(商用语言,
显示全部
相似文档