第03章--类的封装继承与多态.ppt

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

武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * Java方法不能有默认值,C++可以。 类的修饰符不能是private 赋值给了方法的局部变量,没有赋给类的成员变量 只做了变量声明,没有初始化和赋值 没有声明d3,且方法调用符号是‘. ’ 两个对象之间不能直接比较大小 需要实现一个比较大小的方法 代码有哪些错误 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 不能只声明方法名,还需要方法体。 修改为Public ClosedFigure(){} 构造方法不能声明为抽象方法 类型多态,将子类的实例赋值给父类引用。正确 父类Object声明了toString方法,正确 父类Object未什么length方法,错误。需要先进行强制转换 Hello!I love Java. parent child child 2,2,3 * P76页的表3-1 多态分为类型多态和方法多态。 类型多态指父子类之间可以多样 方法多态主要通过方法重载和方法覆盖来实现 子类的构造方法没有调用super()或this(),将默认执行super() public Person() { super(); //调用父类构造方法Object() } public Student() { super(); //默认调用 speciality=; } 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * Student类中会默认调用Person父类构造函数。 如果父类中没有默认构造函数,就会出现错误。 调用父类构造方法的语法为: super() 或 super(参数列表) ; super () 方法始终指向调用类的父类 在创建子类对象时候,如果子类的构造函数没有显示调用父类的构造函数且父类自己提供了无参构造函数,则会调用父类自己的无参构造函数。 在创建子类对象时候,如果子类的构造函数没有显示调用父类的构造函数且父类只定义了自己的有参构造函数,会出错。 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 构造函数使用注意 一个类只有一个父类,一个父类可以有多个子类 在子类中,凡是继承来的属性,必须要调用父类的构造方法来初始化 先调用父类构造方法初始化父类属性,再初始化子类扩展属性。 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 图3.7 子类构造方法逐个执行成员对象和父类的构造方法 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * public Student(String name,MyDate birthday,String Specicality){ super(name,birtyday); this.speciality = speciality; } super使用 调用父类的构造方法 super([参数列表]) 引用父类同名成员 子类隐藏父类成员变量 super.成员变量 子类覆盖父类成员方法 super.成员方法([参数列表]) 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * 在子类里面调用被隐藏或者覆盖的父类成员的方式 * 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 3.4 类的多态性 3.4.1 子类重定义父类成员 3.4.2 类型的多态 3.4.3 编译时多态和运行时多态性 3.4.4 多态的方法实现 多态性 概念 什么是多态:顾名思义就是拥有“多种形态”的含义,是指属性或方法表现为多种形态。 java中的多态的表现形式一般分为两种:override (重写)和overload(重载) 重写,重写override是父类和子类之间多态性的一种表现,重载overload是一个类中多态性的表现。 武汉理工大学信息学院《Java程序设计实用教程(第4版)》 * (父类和子类Override)多态性 举例 父类 子类 - 绘制和移动三角形 子类 - 绘制和移动矩形 子类 - 绘制和移动五边形 Shape Draw () Move () Triangle Draw () { DrawTraingle } Move () { MoveTriangle

文档评论(0)

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

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

1亿VIP精品文档

相关文档