第03章--类封装、继承与多态.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 类的封装、继承和多态 3.1 类和对象 3.2 类的封装性 3.3 类的继承性 3.4 类的多态性 3.5 类的抽象性 面向对象语言基础 面向对象语言(Object-Oriented Programming Language, 简称OOPL)的设计出发点是为了能更直接地描述问题域中客观事物(即对象)以及它们之间的联系。 面向对象技术追求的是软件系统对现实世界的直接模拟,是将现实世界中的事物直接映射到软件系统的解空间。它希望用户最大程度地利用软件系统,花费少量的编程时间来解决需要解决的问题。 OOPL可以简单地把程序描述为如下的公式: 程序 = 对象 + 消息 面向对象语言对现实世界的直接模拟体现在以下几个方面: (1) 程序设计所针对的问题域——客观世界,总是由一些具体的事物构成的,每个事物都具有一组静态特征(属性)和一组动态特征(行为)。    例如,一辆汽车有颜色、型号、马力、生产厂家等静态特征,又具有行驶、转弯、加速、减速、停车等动态特征。要把客观世界的这一事实映射到面向对象的程序设计语言中,则需把问题域中的事物抽象成对象(Object),用一组数据描述该对象的静态特征(属性),用一组方法来刻画该对象的动态特征(行为)。 (2) 客观世界中的事物既具有特殊性又具有共同性。人类认识客观世界的基本方法之一就是对事物进行分类,即根据事物的共性把事物归结为某些类。OOPL很自然地用类(Class)来表示一组具有相同属性和方法的对象。 (3) 在同一类事物中,每个事物既具有同类的共同性,又具有自己的特殊性。OOPL用父类与子类的概念来描述这一事实。在父类中描述事物的共性,通过父类派生(Derive)子类的机制来体现事物的个性。子类可以继承(Inheritance)父类的共同性又具有自己的特殊性。 (4) 客观世界中的事物是一个独立的整体,它的许多内部实现细节是外部所不关心的。例如,对于一个只管开车的驾驶员来说,他可能根本不知道他所驾驶的这辆汽车内部用了多少根螺钉或几米导线,以及它们是怎样组装的。     OOPL用封装(Encapsulation)机制把对象的属性和方法结合为一个整体,并且屏蔽了对象的内部细节。 (5) 客观世界中的一个事物可能与其他事物之间存在某种行为上的联系。例如,一辆行驶中的汽车当看到红色信号灯时要刹车停止,OOPL便通过消息连接来表示对象之间的这种动态联系。 (6) 客观世界中较为复杂的事物往往是由其他一些比较简单的事物构成的。例如,一辆自行车是由车架、车轮、把手等构成的,OOPL也提供了描述这种组成关系的功能。     综上所述,面向对象的编程语言使程序能够比较直接地反映客观世界的本来面目,并且使软件开发人员能够运用人类认识事物所采用的一般思维方法来进行软件开发。相对而言,面向对象语言和人类认识、理解客观世界所使用的自然语言之间的语言鸿沟最小。     当然,差距总还是有的。自然语言的丰富多样和人脑联想思维的复杂性,仍是目前任何一种计算机编程语言无法相比的。 3.1 类和对象 3.1.1 类 类的概念 类(class):是既包括数据又包括作用于数据的一组操作的封装体,是具有共同特性的所有对象的模板,是对象的抽象和归纳。 类中的数据称为成员变量, 类中对数据的操作称为成员方法(method), 它们统称为类的成员(member)。成员变量反映类的状态和特征, 成员方法表示类的行为能力。 Java程序中所实现的任何概念都必须封装在类中, 类定义是Java的核心, 每一个Java程序的本质都是对类的定义。 类具有封装性、继承性、多态性和抽象性等特性。 类的定义 类声明 { 成员变量的声明 ; 成员方法的声明及实现 ; } 类声明 [修饰符] class 类泛型 [extends 父类] [implements 接口列表] 其中, 类、泛型、父类、接口都是标识符, 通常其首字母大写; 修饰符是一些说明类属性的关键字, 如public访问权限、abstract抽象类、final最终类等。 声明成员变量 格式:[修饰符] 类型 变量名 [=表达式] { ,变量名 [=表达式] } ; 说明:修饰符是说明成员属性的关键字, 包括访问权限public、protected、private以及静态成员static、最终方法和最终变量final等。如果类型是引用类型,则表达式通常为:new 类型(参数表)。 定义成员方法 格式:[修饰符] 类型 方法([参数列表]) [throws 异常类] { 语句序列; [return [返回值]]; } 说明:修饰符同前。类型指返回

文档评论(0)

js1180 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档