面向对象程序设计-----JAVA•Java语言是对软件开发技术有深远影响、应用前景广泛、具有丰富的类库、继承了C++传统(摈弃了某些不足)广泛使用的网络编程语言。Java语言的特性使它可以最大限度地利用网络。•本章介绍面向对象的基本概念:对象和类,对象的属性。学习导读第1章Java和面向对象概述第1章Java和面向对象概述1.1面向对象软件开发方法概述1.2面向对象的基本概念1.3Java语言概述本章小结思考与练习1.1面向对象软件开发方法概述1.1.1.传统软件开发方法存在的问题软件生产率低软件重用程度低软件维护艰辛软件非用户所需1.1.2存在的问题的原因传统结构化技术的缺点软件结构分析与结构设计技术的本质是功能分解,是围绕实现处理功能的过程来构造系统的。结构化方法强调过程抽象和模块化,是以过程(或操作)为中心来构造系统和设计程序的。然而用户需求的变化大部分是针对加工的,因此这种变化对基于过程的设计来说是灾难。1.1.3软件工程的新途径面向对象作为一种思想及编程语言,为软件开发的整个过程:从分析设计到实现,提供了一个完整解决方案。面向对象堪称是软件发展取得的里程碑式的伟大成就。面向对象方法简介从80年代后期开始,进行了面向对象分析(OOA)、面向对象设计(OOD)和面向对象程序设计(OOP)等新的系统开发方式模型的研究,在有些文献中统称为OO范型。面向对象的需求分析方法通过提供对象、对象间消息传递等语言机制,从而削弱了语义断层。科目一考试网科目一模拟考试2016科目四考试网科目四模拟考试驾校一点通365网驾校一点通2016科目一科目四驾驶员理论考试网科目一考试科目四考试1.2面向对象的基本概念简而言之:面向对象=对象+类+继承+消息属性值规定了对象所有可能的状态。对象的操作是指该对象可以展现的外部服务。例如,大型客机可视为对象,它具有位置、速度、颜色、容量等属性,对于该对象可施行起飞、降落、加速、维修等操作,这些操作将或多或少地改变飞机的属性值(状态)。(1)对象在面向对象的系统中,对象是基本的运行时的实体,它包括数据属性,也包括作用于数据的操作(行为)。所以一个对象把属性和行为密封成一个整体。(2)类。类是某些对象的共同特征(属性和操作)的表示,对象是类的实例。例如,飞行器类包含位置、速度、颜色等属性,以及起飞、降落、加速等操作。是否建立了一个丰富的类库是衡量一个面向对象程序设计语言成熟与否的重要标志。(2)类继承性是面向对象程序设计语言的最主要的特点,是其他语言(如面向过程语言)所没有的。类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类(被继承类)的某些特征。当然,子类也可以具有自己独立的属性和操作。(3)继承例如,飞行器、汽车和轮船可归于交通工具类,飞行器类可以继承交通工具类某些属性和操作。除遗传关系外,现实世界中还普遍存在着部分—整体关系。例如,飞机可由发动机、机身、机械控制系统、电子控制系统等构成。聚集关系。消息传递是对象与其外部世界相互关联的唯一途径。对象可以向其他对象发出消息以请求服务,也可以响应其他对象传来的消息,完成自身固有的某些操作,从而服务于其他对象。因为对象的操作主要用来响应外来消息并为其他对象提供服务,所以它们也被称作“外来服务”。(4)消息例如,直升飞机可以响应轮船的海难急救信号,起飞,加速,飞赴出事地点并实施救助作业。需求分析需求模型化概要设计详细设计实现用户需求明确细化需求分析实现设计重新明确需求用户需求可重用部件的引用和开发修改详细设计选择开发工具编码设计界面管理、任务管理和数据管理抽取对象模型、属性、结构、建立OOA模型需求陈述修改概要设计面向对象软件开发过程(软件生命周期)•1.Java语言对软件开发技术的影响•2.JavaApplet•3.Java语言的应用前景及特点•4.Java语言特点•5.丰富的类库1.3Java语言概述1.Java语言对软件开发技术的影响•程序设计语言分四个发展阶段:–第一代语言(1GL):二进制机器代码–第二代语言(2GL):汇编语言(LowLevelLanguageLLL)–第三代语言(3GL):高级语言(HLL)–第四代语言(4GL):面向对象语言(00P)•特殊应用程序•非过程化–第五代语言:(?)Java语言程序的编译、解释和执行过程源程序(.java文件)字节码(.class文件)类装载器字节码校验器代码生成器解释器即时运行部件硬件Java虚拟机与Internet的关系类装载器字节码校验器Java虚拟机硬件网络源程序(.java文件)字节码(.class文件)•2.JavaApplet–。Applet是Java的小应用程序,它是动态、安全、跨平台的网络应用程序。JavaApplet嵌入HTML(超文本标记性语言)语言,通过主页发布到Internet。•3.Java语言的应用前景–所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。–计算过程的可视化、可操作化的软件的开发。–动态画面的设计,包括图形图像的调用。–交互操作的设计(选择交互、定向交互、控制流程等)。–Internet的系统管理功能模块的设计,包括Web页面的动态设计、管理和交互操作设计等。–Intranet(企业内部网)上的软件开发(直接面向企业内部用户的软件)。–与各类数据库连接查询的SQL语句实现。–其他应用类型的程序。•4.Java语言的特点–简单–面向对象–分布性–鲁棒性–安全性–体系结构中立–可移植性–解释执行–高性能–多线程–动态性•5.丰富的类库–Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。•6.Java和C、C++–对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C++相同的传统,使得熟悉C、C++的程序员能很方便地进行编程。同时,Java为了实现其简单、鲁棒、安全等特性,也摒弃了C和C++中许多不合理的内容。本章小结•理解Java,首先必须掌握它的一些基本概念:Java对软件开发技术的影响;应用前景及特点;•Java是一种很典型的面向对象的程序设计语言。要掌握面向对象的一些基本概念:对象、类、继承和消息。以便更好地学习和掌握Java语言。思考与练习•1.Java对软件开发技术的影响有那些?•2.Java应用前景及特点是什么?•3.Java语言的特点有那些?•4.JavaApplet特点是什么?•5.Java丰富的类库的作用?•6.什么是面向对象软件开发?面向对象软件开发的一般过程分为那些阶段?•7.面向对象软件开发的最主要特点是什么?