JAVA语言与编程第4章 类与对象.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 类与对象 4.1 基本概念 4.1.1 面向对象编程简介 面向对象编程或面向对象设计均可称为 OOP ,它是目前 占 主流地位的一种程序设计方式,取代了先前的所谓结构化、 面向过程的编程技术。 传统的结构化编程是设计一组函数来解决一个问题,即先 解决算法,再解决使计算更容易的数据结构; OOP 方法则相 反,即先解决数据结构,再解决数据结构运算的算法,数据 结构和算法均封装在对象中。 4.1.2 类与对象 在面向对象程序设计中,对象是程序的基本单位,相似的对象之间的 关系就像是相同类型的不同变量。这些相似的对象可以通过一个类将它 们抽象出来,在类中定义它们共同的属性和方法。 类实质上定义了一种对象类型,它是具有相似行为的对象的一种抽象 , 描述了属于该类型的所有对象的性质 — 统一的属性和统一的操作模式。 对象是在程序执行过程中由其所属的类动态生成的,一个类可以生成 多个不同对象,对象也被称作类的实例。同一个类的所有对象有相同的 性质。但一个对象的内部状态只能由其自身修改,任何别的对象都不能 修改它。因此,同一个类的对象虽然在外部表现形式上相同,但可以有 不同的内部状态,即不同的属性值。 4.1.3 消息和方法 对象之间进行交互时,通过消息来实现。 构成消息的三个要素: (1) 接收消息的对象 (2) 接收消息的方法 (3) 方法所需要的参数 4.1.4 面向对象编程的基本特征 1. 封装性: “封装”是一种组织开发软件的方法,其基本思想是把客观世界中联 系 紧密的元素和相关操作组织在一起,使其相互关系隐藏在程序体内部, 而对外仅仅表现为与其他封装体之间的接口。 在面向对象的程序开发中,每个类都封装了相关的数据和操作。另外 , 在 Java 中,包的概念也体现了封装性,包将一组相关的类封装在一起。 类的封装性使得代码的可重用性大为提高。使用者不用知道实现的细 节,只需要用设计者提供的消息来访问该对象(公共的方法)。 2. 继承性: Java 中的类组成一个层次结构:一个类之上的类称为父类,下层的类 称为子类。这种层次结构的一个重要性质就是继承性。父类可以产生子 类,子类可以继承父类中的属性和方法,且这种继承具有传递性。一个 类可以继承其上层的全部父类中的属性和方法。这样某个类的对象除了 具有这个类所描述的性质外,还具有类等级中该类的上层的全部父类所 描述的一切性质。 在面向对象的继承特性中,还有一个单重继承和多重继承的概念。单 重继承是指一个类只有一个单一的父类。多重继承是指一个类可以有一 个以上的父类。 Java 不支持多重继承,但可以通过一个类实现多个接口 的方法来完成多重继承的功能。 类的继承的好处:利用了代码的可重用性,减少了程序中的冗余信息 3. 多态性: 多态是指通过方法重写,一个类可以具有多个相同名字的 方法,由参数个数和类型对它们加以区分。通过方法重写, 子类可以重写父类的某些方法,使其具有自己的特征。重写 可以隐藏父类的方法,使子类具有了自己的具体实现。 父类和子类可以有相同名字的属性和方法,在程序的执行 期间,对对象某一属性的查找是从该对象类所在层次开始, 沿着类等级逐渐向上进行的,把第一个找到的属性作为所要 的属性。因此,底层可以屏蔽高层的属性。 4.2 类 类是 Java 中最基本的复合数据类型,是组成 Java 程序的 基 本要素。创建一个新类就是创建一个新的数据类型,实例化 一个类就得到一个对象 . 类有两种基本成分:属性和方法,又称成员变量和成员方 法。 类的成员变量可以是基本数据类型或数组,也可以是复合 数据类型。 类的方法用于处理该类的数据,类中的方法与其他语言中 函数的区别 :Java 中的方法只能是类的成员,只能在类中定 义。 4.2.1 类的定义 格式: [ 修饰符 ] class 类名 [extends 父类名 ] [implements 接口名 ]{ 类属性声明; 类方法声明; } 说明 :(1)class 表示类定义开始,类名第一个字母通

文档评论(0)

wq1987 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档