面向对象程序设计-Java语言01
- 格式:ppt
- 大小:198.50 KB
- 文档页数:35
第1章Java语言概述本章知识目标:❑了解面向对象程序设计的特性。
❑掌握Java应用程序和Applet程序的调试过程。
❑了解Java的开发与运行环境。
❑了解Java语言的特点。
Java语言从1995年问世至今,得到众多厂商的支持,成为软件开发的主流技术。
Java 是面向对象的程序设计语言,拥有跨平台、多线程等众多特性,在网络计算中得到广泛应用。
1.1 面向对象程序设计的特性早期的编程语言如Fortran、C等都是面向过程的语言,面向过程编程的一个明显特点是数据与程序是分开的。
但随着计算机软件的发展,程序越做越大,软件维护也日益困难。
面向对象编程贴近于人类思维方式,面向对象的软件开发将事物均看作对象,对象有两个特征:状态与行为,对象可以通过自身的行为来改变自己的状态。
最新的程序设计语言一般为面向对象的语言,面向对象程序设计具有如下四大特性。
1.封装性(Encapsulation)面向对象的第一个原则是把数据和对该数据的操作都封装在一个类中,类的概念和现实世界中的“事物种类”是一致的。
例如,电视机就是一个类,每台电视机都有尺寸、品牌、频道等属性。
我们可用on/off开关来开启电视,通过更改频道让电视机播放不同的节目。
对象是类的一个实例化结果,对象具有类所描述的所有属性以及方法。
对象是个性化的,在程序设计语言中,每个对象都有自己的存储空间来存储自己的各个属性值,有些属性本身又可能由别的对象构成。
每个对象都属于某个类。
面向对象程序设计就是设计好相关的类,类中有属性和方法。
在统一建模语言UML中使用如图1-1所示的符号来描述对象和类的结构,其中,属性用来描述对象的状态,而方法则用来描述对象的行为。
2.继承性(Inheritance)继承是在类、子类以及对象之间自动地共享属性和方法的机制。
类的上层可以有父类,下层可以有子类,形成一种层次结构,如图1-2所示。
一个类将直接继承其父类的属性和方法,而且继承还具有传递性,因此,它还将间接继承所有祖先类的属性和方法。
面向对象程序设计Java是一种面向对象的编程语言,它提供了一种灵活的方式来构建可重用的软件组件。
它的主要特点是:
1. 面向对象:Java是一种面向对象的编程语言,它支持封装、继承和多态等面向对象的特性,可以更好地抽象和组织代码,提高代码的可重用性。
2. 平台无关性:Java是一种跨平台的编程语言,它可以在多种操作系统上运行,而不需要重新编译代码。
3. 安全性:Java提供了一种安全的运行环境,可以防止恶意代码的执行,保护系统免受病毒和恶意软件的攻击。
4. 强大的类库:Java提供了一个强大的类库,可以让开发者更快捷地开发应用程序。
5. 自动垃圾回收:Java拥有一个自动垃圾回收机制,可以自动回收不再使用的内存,减少内存泄漏的可能性。
第1章 Java语言概述面向对象的软件开发和利用面向对象技术进行问题求解是当今计算机技术发展的重要成果和趋势之一,而Java语言的产生与流行则是Internet发展的客观要求。
本章将简要介绍软件开发方法的变革和面向对象程序设计中的基本概念,介绍Java语言的特点及开发Java 程序的基本步骤等,使读者对面向对象软件开发方法的基本思想和特点有一定的了解,熟悉Java语言特点、与C/C++的主要差异、Java程序执行过程、Java运行环境及开发工具等基本知识。
1.1 面向对象的软件开发概述人类已经进入了21世纪。
21世纪是信息社会,是知识经济的时代。
信息是战略资源,信息的挖掘、增加、管理、流通、利用以及更新离不开计算机。
计算机广泛又深刻地改变了人类的生活。
计算机系统是由计算机硬件子系统与相应软件子系统构成的,计算机软件是计算机的灵魂。
软件是相对计算机硬件而言的,是事先编制好的具有特定功能和用途的程序系统及其相应说明文件的统称。
随着计算机硬件的发展和计算机的广泛应用,软件系统的发展也从简单到复杂、从小型到大型、从封闭到开放。
就软件开发方法而言:在二十世纪40、50年代,由于每台计算机都是单独设计的,计算机作为价格昂贵的特殊计算工具,实现计算任务的程序由极其小部分专业人士专门编制,所以无需什么开发方法。
在60年代,虽然程序设计人员开始意识到软件的相对独立性的重要作用,但由于缺乏软件开发方法和技术,编程人员只能针对特定问题,根据所需功能,制定相应的方法。
在70年代,软件开发技术有了很大的发展,主要表现在:①数据结构与算法成为一种独立研究对象。
通过对数据结构与算法的研究,提高了计算机的时空效率。
②将结构化程序设计方法发展为结构化开发方法,提出了重要的软件开发模型——瀑布模型。
软件开发也从依靠个人的技巧、经验和智慧发展到按系统方法通过遵从一系列规范进行开发的阶段。
在80年代,由于软件系统规模的扩大,单纯的编程技术已经不是开发软件系统的重点,而如何管理系统的结构,如何管理系统各部分之间的接口,如何将系统各部分集成为一体等成为软件系统开发技术的焦点。