第3章面向对象程序设计ppt课件.pptx

第3章面向对象程序设计ppt课件.pptx

ID:59102141

大小:330.23 KB

页数:25页

时间:2020-09-25

第3章面向对象程序设计ppt课件.pptx_第1页
第3章面向对象程序设计ppt课件.pptx_第2页
第3章面向对象程序设计ppt课件.pptx_第3页
第3章面向对象程序设计ppt课件.pptx_第4页
第3章面向对象程序设计ppt课件.pptx_第5页
资源描述:

《第3章面向对象程序设计ppt课件.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象的编程划分黄淮学院计算机科学系王春华1(对应章节(4.1继承的概念4.2类继承4.3.2super 3.7最终类/属性/方法)黄淮学院计算机科学系王春华23子类继承父类的方法和属性,实现代码复用1.无继承时多类协作对象组合实现代码复用(程序见备注)类的实例作为另一个类的成员452.类继承实现代码复用(1)类的层次结构:每个类都有父类如果没有使用extends关键字,则Object类就是缺省的父类。Object类包含在java.lang包中。所有的类都是从这个类继承而来的。Object类定义了Java系统需要的所有类的行为。查看JDK帮助文档

2、JOptionPane62.类继承实现代码复用(2)类继承的实现一个类能从其它类继承行为与属性(非private修饰),由此直接实现代码复用。类继承例程阅读72.类继承实现代码复用(3)构造方法不可继承实例见备注程序继承时的对象初始化例程阅读默认执行的父类构造方法是无参构造方法,如果父类显式地定义了构造方法,且均有参数,则这样自动调用会使编译出错。82.类继承实现代码复用(4)-思考一个类如何去继承另一个类?一个类继承另一个类时,究竟继承了什么?类的继承有什么好处?每个类都有父类吗?如果类定义时无extends部分,该类的父类是?多个子类可以继承自

3、一个父类吗?一个类可以同时继承多个父类吗?若不希望父类中的某成员被子类所继承,如何实现?根类Object在哪个软件包中?对象的初始化时,父类的什么样的构造方法能自动执行?如何主动调用父类的构造方法?父类构造方法的执行时机?9103.方法的重写/覆盖(overriding)当一个子类继承父类时,子类将自动拥有父类的非私有的成员变量和成员方法。问题:如果父类的某个方法对于子类不合适怎么办?方法重写例程阅读本例重写意义:在继承Persons的子类Children中,重写employed方法,输出“Achildshouldstudyintheschool.

4、”113.方法的重写(overriding)(1)方法重写设计要点方法名相同,方法返回类型相同,参数相同重写总是在父类和子类之间(重载overload是一个类内部进行的)重写的意义是修正覆盖父类方法子类重写父类的方法时,不可以降低方法的访问权限。如果需要屏蔽父类的属性数据,同样也可以子类中重定义同名的变量实现。12134.super关键字super是一个特殊的变量,提供了对父类的访问。(this呢)调用父类的构造方法参数可无,可用此格式调用父类的无参或带参的构造方法。例:阅读程序分析结果。144.super关键字(1)访问父类的成员例:阅读程序,分

5、析程序运行结果。说明:每个子类构造方法的第一条语句都是隐含的调用语句super(),如果父类没有这样形式的构造方法,则编译时会出错。154.super关键字(2)-练习练习:按照以下给出的步骤,逐步编程。1.设计一个Animal类,属性有重量、年龄,行为有:吃(eat)、睡(sleep)、呼吸(breathe)。2.创建继续Animal的子类fish,呼吸行为不同,改造其方法。3.在main方法中创建一个fish对象,执行吃、睡、呼吸的方法,执行程序理解重写。4.分别给Animal类和fish类创建一无参构造方法。编译执行,分析结果。5.改fish

6、类的构造方法带参,编译执行并分析结果。16175.阻止类的继承final类阻止类继承final数据final方法阻止方法重写思考185.阻止类的继承-final类阻止类继承如类在设计时需确定为阻止继承,可在类名加修饰词final实现。形式如:用final类创建对象,或直接访问其中的静态成员,但不能用final类派生子类。如String类就是一个final类。195.阻止类的继承-final类阻止类继承(1)例:阅读程序,分析程序可行性。20说明:(1)习惯上将public等权限修饰符置于final之前。(2)类的构造方法权限定为private,可间

7、接阻断类继承。5.阻止类的继承-final数据final可定义常数和不可变更的对象引用。形式如:final类型标识符;如:finaldoublePI=3.14159;finalCirclec=newCircle(5);说明:(1)当类型是基本数据型时,final说明一个标识符为常数。(2)当类型是对象时,final说明一个标识符为不可变更的对象引用。例:阅读程序,分析程序可行性。215.阻止类的继承-final方法final方法是不可重写的方法。例:阅读程序,分析程序可行性。类中声明为private的方法均隐含指定为final方法。这个道理是显然的

8、,因为类外部无法访问私有方法,自然也就不能重写它了。22final总结final修饰类,表明类不可继承;final修饰类中

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。