第6章Java面向对象的特征.ppt

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

本章知识重点本章知识难点

Java的继承机制

继承的概念继承也称为派生,其概念来源于这样一种思想:同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。运用抽象的原则舍弃对象的特殊性,抽取其共性,便得到适应于一组对象的类,这便是一般类或通用类,而把具有特殊性的类称为特殊类或具体类。假定B类与C类具有A类的全部属性和方法,同时又分别具有自己特有的某些属性和方法,则把类A称作一般类,把类B与类C称作类A的特殊类。车类层次结构图车类层次结构图为例,来演示继承关系:继承的意义继承很好地解决了软件复用。通过继承,一个类可以拥有已有类的所有功能。因此,只需指明新类与现有类的不同,即增加自己的属性和方法即可,从而有效地减少了代码和数据的冗余度,增强了程序的可重用性。举例而言:假定B类继承了A类(即A类是B类的基类),建立B类时只需增加与A类不同的特征(成员数据和成员方法)的描述,不需再重新定义A类已有的特征。继承的特征继承的实现Java程序中,继承通过extends关键字来实现。子类对父类的继承是在类的声明中通过关键字extends来指明。实现继承的语法结构为:[修饰符]class子类类名extends父类类名{……//类体定义}继承的示例【例】实现两个类的描述:基类人(Person)及子类学生(Pupil)。人具有姓名(name)、年龄(age)、性别(sex)及配偶姓名(spouseName)四类属性,同时具有工作(work)、休息(rest)、娱乐(amusement)及处理家务(housework)四种行为方法。学生将从人这一父类中继承除配偶姓名以外的三类属性,并继承及除工作和处理家务以外的两类行为,同时要添加自身类特有的几类属性:所属学校(school)、所学专业(specialty)及所在年级(degree),同时还要增加几种学生的行为方法:学习(study)与考试(exam)。UML图表达类的继承关系构造方法的继承构造方法是类中最为特殊的方法。子类能够继承基类的非私有成员要素,而构造方法为公共类型,因此子类能够继承基类的构造方法。继承关系示例【例】点(Point)类描述了平面坐标系下的一个坐标点的属性与方法。由点类派生出两个子类:圆类(Circle)与矩形类(Rectangle)。圆类除了圆心坐标外,还具有半径(radius)属性;矩形类除左上角的坐标点外,还具有长度(width)与高度(height)属性。分别为每个类创建一些实例对象并输出其相关信息。用UML图表示Point、Circle与Rectangle类的继承关系用UML图表示继承机制下成员要素的行为继承机制下,类的成员要素的行为方式将会发生很大的变化。子类可以定义与基类相同的成员变量和成员方法,这种情况下,Java系统将面临如何解决成员要素定义的二义性冲突现象。对于属性而言,子类在实现继承父类属性的同时,可以定义与父类属性相同名称与类型的自身属性,子类在执行自身方法时,默认情况下使用的是自身定义的属性,从而将父类的同名属性暂时屏蔽掉。这种原则称为属性隐藏。继承机制下成员要素的行为同样,对于成员方法而言,子类在继承父类方法的同时,可以定义与父类原型相同而方法的具体实现不同的自身的成员方法,子类在自身方法中调用与父类同名的方法时,默认情况下调用的是自身定义的方法,从而相当于重新实现了父类的方法功能。这一原则称为方法覆盖。最终类与最终成员要素final修饰符能够用来修饰类及类的成员要素。final修饰的类称为最终类或终止继承类;final修饰的成员变量称为常量;final修饰的成员方法称为最终方法或禁止覆盖方法。最终成员要素最终类与最终成员要素final修饰符能够用来修饰类及类的成员要素。final修饰的类称为最终类或终止继承类;final修饰的成员变量称为常量;final修饰的成员方法称为最终方法或禁止覆盖方法对象的类型转换基本数据类型可以进行类型转换,Java支持隐式(自动)及显式(强制)两种类型转换方式对象类型转换遵循的原则对象类型转换遵循的原则(续)抽象类与抽象方法类与方法的抽象抽象类:就是不能使用new关键字进行实例化的类,即没有具体实例对象的类。抽象类通常不具备实际功能,不能创建对象,只作为专门用来派生其他子类的基类。定义抽象类的目的是为子类提供公共信息与接口。抽象方法:是一种不完整的方法,它只包含有方法声明,而无方法体的定义,因而抽象方法是只有方法原型而无功能实现的一种行为规范,用来为所在类的子类声明方法的接口标准。有关抽象类的说明当声明类被为抽象类时,需要在这个类前加修饰abstract有关抽象类的说明(续1)抽象类中不可包含抽象构造

文档评论(0)

177****7891 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档