第4章面向对象程序设计.docVIP

  • 11
  • 0
  • 约4.13万字
  • 约 47页
  • 2017-02-28 发布于重庆
  • 举报
第4章面向对象程序设计

第4章 面向对象程序设计 Java是一种纯粹的面向对象程序设计语言,构成Java程序的一切“元件”(包括Java程序本身)都是对象。在编写Java程序过程中,以“一切皆为对象”的思维方式来思考问题,通过创建类、接口、对象,调用类和对象的方法来解决问题。定义类的操作类的对象是Java编程的主要任务。 学习好Java,必须两点: 1)面向对象程序设计思想 2)设计类(包括接口) 4.1 面向对象求解概述 4.1.1 利用计算机解决问题的方式 利用计算机解决问题的过程: 计算机解决问题的方式就是:使用某种程序设计语言,将客观世界中待处理的对象抽象为程序中的对象(称为“解空间对象”),多面手利用程序的功能对解空间对象进行处理,并将处理结果表达为实际问题的解。 目前有两种程序设计思想:面向过程的、面向对象的 4.1.2 面向过程的程序设计 面向过程的程序设计就是将解决问题的过程(步骤)用某种语言描述出来,然后交给计算机执行。其设计的核心是“算法+数据结构”。 从外部表现上看,面向过程的程序是以模块(函数)的形式出现的,一个程序是由若干个函数组成的。各函数之间的关系通常是调用、被调用关系。且各个函数的地位实质上又是相同。这样会造成极大的混乱。且共享数据难以进行。 通常要共享数据需要通过“全局变量”来进行,每个函数都可使用这个全局变量,从而根本没法控制。 4.1.3 面向对象的方法 面向对象是一种看问题的观点,是对现实世界各种元素的一种抽象。对象既含数据又含功能(操作、行为),因此具有自身处理数据的能力,是能进行处理的主体。对象被认为是迄今为止最接近真实事物的数据抽象。 在客观世界中,每一个对象(事物,包含具体的如狗、桌子,也包含抽象的如学生)都有自己的状态和行为。 状态:数据,属性,是静态的属性,一般用来描述对象的一些颜色、大小、速度等。 行为:功能,动态的动作,如奔跑、呼吸等。 在面向对象的程序中,对象的状态称为“属性”,对象的行为称为“方法”,一个对象的方法实现对象的一项功能。 在Java中,将对象抽象为“类”(class),而属性用类中的成员变量来描述,方法用类中的函数来描述。 如,我们要描述“汽车”(car),在面向对象方法中的模型可以是: class Car{ //描述汽车的属性 public int color; int weight; protected int value; private int js; //描述汽车的行为 void brake( ) //刹车 { //.... } void speedUp( ); //加速 void slowDown( ); //减速 }; 如果一个Car类已经创造好了,现在我们要由这个类来生产汽车,比如要生产一辆宝马车: Car bmw=new Car( ); //创建(生产)一个对象 bmw.speedUp( ); //调用对象的方法,实现对象的动作 4.1.4 抽象与封装 1、抽象 抽象是科学研究中经常使用的一种方法,去除被研究对象中与主旨无关的次要部分,或是暂时不考虑的部分,而仅仅抽取出与研究工作有关的实质性的内容加以考察。在计算机软件开发中使用的抽象有两类:一类是过程抽象,一类是数据抽象; (1)过程抽象 将整个系统的功能划分为若干部分,强调功能完成的过程和步骤。 (2)数据抽象 把系统中需要处理的数据和对这些数据的操作结合在一起,根据功能、性质和作用等因素抽象成不同的抽象数据类型。 2、封装 “封装”就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象内部细节的一种面向对象技术。其特点是: (1)把对象的全部属性和全部服务(方法)结合在一起,形成一个不可分割的独立单位(对象) (2)实现信息隐蔽,尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一个屏障),只保留有限的对外接口,使之与外部发生联系。 4.1.5 面向对象程序设计语言的特点 (1)使计算机接受了面向对象的思维方式 (2)实现了抽象和封装 (3)较好地实现了软件复用 (4)提高了程序的可靠性 (5)实现了多态性 4.2 类与对象 对象是一些属性与方法的封装体,可以用公式来描述: 对象=数据+作用于这些数据的操作 数据就是类中的成员变量,操作就是类中的成员方法。 4.2.1 类的声明 1、类的声明 语法形式: 访问控制符 使用格式 class 类名[extends 父类名] [implements 接口名列表]{ 成员变量的声明及初始化; 方法的声明及方法体; } 简要介绍: (1)class:用来声明类的关键字,表明其后声明的是一个类; (2)class前面的修饰符,用来限定类的访问权限及使用格式: ①访问控制符:声明类的访问权

文档评论(0)

1亿VIP精品文档

相关文档