第4章类与对象_构建java程序的基石课件.ppt

  1. 1、本文档共144页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章类与对象_构建java程序的基石课件.ppt

本章知识重点 本章知识难点 4.1 面向对象的程序设计 4.1.1 面向对象的基本概念 4.1.1对 象 对象(Object): 4.1.1对 象 对象 对象 对象 类 类(Class) 类 类(Class) 类的概念 类(Class) 类与对象的关系 类与对象之间的关系,类似于数据类型与变量之间的关系;一个类可以生成无数个不同的对象,每个对象属性值不同,其状态也不同。 类与对象的关系示例 计算机模型与计算机实体之间的关系: 接口 接口(Interface): 包 面向对象编程(OOP) 从问题域客观存在的事物出发,将这些现实世界的物理实体抽象成概念世界的抽象数据类,再进一步将这种抽象数据类转换为计算机世界的类(Class); 类刻画出实体所具有的状态信息与所能发挥的功能信息,是创建对象时所遵循的模板(Template)。 对类进行实例化,就生成一个个的对象,对象对应于各个具体事物,是程序运行过程中实际发挥作用的类的独立内存映像。 借助于类与对象这两个面向对象程序中最基本的要素,按照尽可能符合人类自然思维的方式,来构造软件系统,这就是所谓的面向对象程序设计(OOP)。 OOP的逻辑过程 面向对象设计分析的完整过程如图所示: 4.1.2 面向对象的特征 抽 象 1. 抽象(Abstraction): 抽象的广义概念:从研究对象中提取与当前目标主题关系最密切的主要方面,而忽略掉与目标无关的那些方面或关系不大的细枝末节,从而更充分地注意与当前目标有关的方面,更明确地突出主题,这就是抽象。 抽象示例 下图阐述了如何由自然界众多的动物实体出发,经过抽象的处理过程,最终得到动物这一概念 。 封装 封装也可称为信息隐藏(Information Hiding), 是通过对象的方法来访问与改变对象属性的一种机制。 其实现的核心是将类的属性与相关的操作捆绑起来,包装成不可分割的、独立的对象实体,将内部的数据与实现细节尽可能隐蔽起来,使外部用户不能直接操纵对象的内部信息,只能通过对象对外提供的施加有一定限制的访问接口来使用对象。 封装示例 左图形象地说明了一个类的封装原理。类对数据与行为的封装是借助于不同级别的访问修饰符来达到控制目的。 继 承 继承是指从已有的类中可以派生出若干个新类,已有类称为基类或父类,新类称为派生类或子类。 子类将自动地获得基类的属性与方法,从而不需再重复定义这些属性与方法;当然子类还可以修改父类的方法或增加新的方法,从而使自己更适合特殊的需要。类之间的继承关系是现实世界中遗传关系的直接模拟。 继 承 继 承 多态性 4. 多态性(Polymorphism): 是指允许不同类的对象对同一消息作出各自的响应,即以统一的风格处理已存在的数据及相关的操作。多态性语言具有灵活、抽象、行为共享、代码共享的优势,较好地解决了应用程序中方法同名的问题。 面向对象程序设计(OOP)的优越性 从面向过程到面向对象是程序设计技术的一个飞跃。人们之所以要采用面向对象的程序设计技术,其目的在于: 4.2 类的描述 4.2 类的描述 4.2.1 类的定义 4.2.1 类的定义 类的定义 修饰符public、说明了类的属性,abstract与final为互斥的两个修饰符,不能同时出现于一个类的声明中。 类的定义(续1) public修饰符将生命为公共类,公共类的访问不受限制,其他类与任何对象都可以使用这个类。如出现,一般置于类声明语句的最前端。 类的定义(续2) 成员变量与成员方法为类的成员要素,简称为成员(Member),它们又分为静态/类的要素与对象/实例要素两类。 构造方法是具有与类名相同名称的一种特殊方法,用来创建类的对象及对成员变量进行初始化。构造方法为可选项,当省略时,Java系统会按缺省方式定义空白的构造方法。 类定义示例 public final class Date //类的声明语句 { //类体定义 private int year; //年 private int month; //月 private int day; //日 //初始化年、月、日值的方法 public void initDate(int y, int m, int d){……} //显示当前日期值的方法 public void sh

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档