第9章 继承与多态.ppt

第9章 继承与多态.ppt

ID:48771569

大小:325.50 KB

页数:58页

时间:2020-01-23

第9章 继承与多态.ppt_第1页
第9章 继承与多态.ppt_第2页
第9章 继承与多态.ppt_第3页
第9章 继承与多态.ppt_第4页
第9章 继承与多态.ppt_第5页
资源描述:

《第9章 继承与多态.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第9章继承与多态类的继承Object类定义Customer类及其子类重写超类方法塑型与多态19.1类的继承Java要求声明的每个类都有父类,当没有显式指定父类时,父类隐含为java.lang包中的Object类。子类对父类的继承是通过在类的声明中,用关键字extends来说明。29.1类的继承私有属性和方法的继承子类不能直接访问从父类继承的私有属性及方法,但可以使用公有(及保护)方法进行访问。39.1类的继承隐藏和覆盖隐藏(针对属性)和覆盖(针对方法)是指子类可以对从父类继承来的属性变量及方法重新加以定义。如果子类重新定义了

2、从父类继承来的属性变量,则从父类继承的属性将被隐藏。49.1类的继承属性隐藏例如,已知三个类:PhoneCard类、Number_PhoneCard类、D200_Card类。59.1类的继承属性隐藏隐藏是指子类拥有了两个相同名字的变量,一个继承自父类,另一个由自己声明;当子类执行继承自父类的操作时,处理的是继承自父类的变量;当子类执行它自己声明的方法时,所操作的就是它自己声明的变量,继承自父类的变量就“隐藏”起来了。69.1类的继承属性隐藏如何访问被隐藏的父类属性变量呢?一个方法是调用从父类继承的方法,则操作的是从父类继承的

3、属性变量;另一个方法是使用super.属性名。79.1类的继承属性隐藏例如:89.1类的继承方法覆盖如果子类不需要使用从父类继承来的方法所实现的功能,则可以声明自己的方法。在声明的时候,使用相同的方法名及参数表,但执行不同的功能。这种情况称为方法覆盖。99.1类的继承方法覆盖1)子类中实现与父类相同的功能,但采用不同的算法或公式。例如,在一个公司中,有普通员工(Employees)及管理者(Magagers)两类人员,Magager类是Employee类的子类。假设普通员工按小时来支付工资,管理者按年薪制来支付工资。109.

4、1类的继承方法覆盖在类Employee中声明下面的方法来计算月工资。119.1类的继承方法覆盖在类Manager中对此方法重写如下:129.1类的继承方法覆盖2)在名字相同的方法中,要做比父类更多的事情。例如,在银行帐户中,设有三类帐户:普通帐户(BankAccount)存款帐户(SavingAccount)支票帐户(CheckingAccount)139.1类的继承方法覆盖假定从支票帐号(CheckingAccount)中取款需要支付1.25元的手续费。149.1类的继承方法覆盖3)在子类中需要取消从父类继承的方法。如果在

5、存款帐户(SavingAccount)中还有一种超级存款帐户(SuperSavingAccount),平时不允许用户从这种帐户中取款。159.1类的继承有继承时的构造方法构造方法是类的一种特殊方法,它可以重载,但不能从父类那里继承。在Java中,使用构造方法是生成实例对象的唯一方法。如果在类的声明中没有声明构造方法,则Java提供一个缺省的构造方法生成对象。169.1类的继承有继承时的构造方法好的程序设计方法是在子类的构造方法中调用父类的某个构造方法,可使用super关键字。如果在子类的构造方法的声明中没有明确调用父类的构造

6、方法,则系统在执行子类的构造方法时会自动调用父类的缺省构造方法。如果在子类的构造方法的声明中调用父类的构造方法,则调用语句必须出现在子类构造方法的第一行。(调用父类的构造方法,目的是给继承自父类的属性赋初值)179.1类的继承有继承时的构造方法有继承时的构造方法举例189.1类的继承有继承时的构造方法有继承时的构造方法举例199.1类的继承有继承时的构造方法有继承时的构造方法举例209.2Object类Object类是Java程序中所有类的直接或间接父类,也是类库中所有类的父类,处在类层次的最高点。Object类包含所有Ja

7、va类的公共属性。219.2Object类Object类提供的方法publicfinalClassgetClass()publicStringtoString()publicbooleanequals(Objectobj)protectedObjectclone()publicinthashCode()protectedvoidfinalize()throwsThrowable229.2Object类Object类提供的方法Object类中的equals()方法的定义因此,Object类中的equals()方法判断的是两个对

8、象是否同一(存的是地址,引用),而不是判断两个对象各个属性域的值是否相同。239.2Object类Object类提供的方法在BankAccount类中增加equals方法。249.3定义Customer类及其子类定义Customer类259.3定义Customer类及其子类定义Custom

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

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

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