Java第6章 面向对象编程.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 面向对象编程;学习目标;第6章 面向对象编程;6.1 概述; 从外表看汽车是一个独立的对象,但深入到其内部,会看到汽车是由若干子系统组成,比如制动系统、驾驶系统、音响系统、空调系统、安全带等。再进一步细分,这些子系统由更多的专用元件组成。这其中的每一个组成部分都可以看作是一个对象,每一个对象都有自己独特的行为特征,最终由这些对象整合组装成完整的汽车,并能启动运行,在马路上奔驰。 面向对象就是以对象为基本单位处理问题、解决问题。在面向对象方法中,对???是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务构成。从程序设计者来看,对象是实现一个具体功能操作的程序模块,由数据(描述对象的属性)和作用于数据的操作(体现对象的行为)构成一独立整体。 Java语言正是采用了面向对象的设计方法,使计算机的软件开发尽量模拟现实世界中的面向对象的处理。一个Java程序可以看作是由多个对象堆砌而成,对象之间通过参数来传递数据,并改变对象状态。;2.面向对象特点 面向对象具有封装、继承和多态的特点。 (1)封装 封装是将代码及其处理的数据绑定在一起的一种编程机制,它保证了程序和数据都不受外部干扰且不被误用。举个简单的例子,电视机把各种部件都装在机箱里,遥控器部件也都装在遥控器盒子中,用户通过遥控器操作电视机,不需要去考虑它们内部的运作情况,既方便了用户,也保护了电视机。 按照面向对象的封装原则,一个对象的属性和操作是紧密结合的,对象的属性只能由这个对象的操作来存取。对象的操作分为内部操作和外部操作。内部操作只在对象内部使用,不对外提供。外部操作则对外提供一个接口,通过这个接口接收对象外部的消息并进行处理。由此可见,封装就是把对象的属性和操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。;在Java中最基本的封装单元是类,一个类被定义为一组对象的共性(数据和代码),属于这个类的每个对象均包含它所定义的属性和操作。在类中,Java提供了私有、公有的访问模式,外部用户只能访问对象的公有部分,不能直接访问对象的私有部分。 (2)继承 继承是一个类可以获得另一个类的特性的机制,继承支持层次分类的概念。例如,老虎是猫科动物的一种,猫科动物又是哺乳动物的一种,哺乳动物又是动物的一种。通过继承,低层的类只须定义特定于它的特征,然后从父类中继承它的通用属性。或者说一个父类封装了某些属性,它的任何子类将会含有同样的属性。 ;继承是面向对象方法中的一个十分重要的概念,并且是面向对象技术可提高软件开发效率的重要原因之一。软件开发过程中,在定义某个类时,不需要把它的父类已经定义过的属性和操作重复地书写一遍,只需要声明它自己的特殊属性与操作,这无疑简化了程序,提高了代码的重用性。 (3)多态 多态是指程序中可以定义多个同名的方法,即为同一个方法定义几个版本,运行时根据不同情况执行不同的版本,从而实现不同的执行功能。多态性又被称为“一个接口,多个方法”。 面向过程的程序设计中,各函数是不能重名的,否则在用名字调用时就会产生歧义和错误;而在面向对象的程序设计中,却经常需要利用这样的“重名”现象来提高程序的抽象性和简洁性。 ;6.2 类和对象;6.2 类和对象;6.2.1 类的定义;class是声明一个类的关键字,类名可以是任何合法的Java语言标识符。类声明的开始和结束处必须使用花括号,花括号括起来的内容是类体,包括成员变量和成员方法两部分内容。Java中允许声明空类体的类,也可以只包含方法或只有成员变量。例如声明一个轿车类:;类修饰符用于说明这个类是一个什么性质的类。类修饰符有public、abstract和final。如果没有声明这些可选的类修饰符,Java编译器将给出默认值,为包可访问类。类修饰符含义如表6-1所示。;【例6-1】 声明一个点类 解题思路:点类应包含x、y两个数据,表示点的横坐标和纵坐标,方法setxy()实现坐标设置,move()表示点坐标的移动,display()用于显示坐标值。注意,这里只有类定义,没有创建对象,类的功能是没有被执行的。;代码:程序pointDemo1.java class Point { int x,y; //成员变量 void setxy(int a,int b) //成员方法 { x=a;y=b; } void move(int a,int b)

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档