- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 Java面向对象程序设计3
实验练习 设计一个人员类(Person),其中包含一个方法pay,代表人员的工资支出。在从Person类派生出助教类(Assistant)、讲师类(Instructor)和教授类(Professor)。其中: 工资支出=基本工资+授课时数*每课时酬金 助教基本工资2000元,每课时酬金35元;讲师基本工资2800元,每课时酬金40元;教授基本工资4000元,每课时酬金45元。 综合实训 【实训目的】 通过本实训项目要学会对象的基本思想,并具备使用面向对象的思想分析问题,解决问题的能力。 【实训情景设置】 用户到银行ATM取款机上取款,输入卡号、密码通过验证后,就可以实现存款、取款、余额查询、修改密码、查看用户信息等操作。 【类功能】 Card类:银行卡信息 User类:用户信息 Tools类:取款机管理系统信息 Acount类:账户类 4.7 多态及super关键字 多态的表现形式主要有方法的重载和方法的覆盖,对象的上转型对象和接口的回调也是多态的表现形式。 (1)方法重载 1)构造方法的重载 2)普通方法的重载 1)构造方法的重载 class Card { private String cardNumber=null; Card( ) { } Card (String cardNumber) { this.cardNumber=cardNumber; } } 方法重载是指同一个类中多个方法享有相同的名字,但是这些方法的参数必须不同,参数不同是指:或者是参数的个数不同,或者是参数类型不同,或者是相同类型参数的排列顺序不同。需要注意的是,方法的返回值类型不能用来区分方法的重载。 例: public int volume(int a, int b) public void volume(int x, int y) 例 2)普通方法的重载 两个方法虽然返回值类型和参数名字不同,但参数个数、类型和顺序完全相同,即具有相同的参数表。 (2)方法覆盖 类继承的过程中,子类方法跟父类方法名字、返回值类型及 参数列表参数完全一样,称子类覆盖了父类的方法。覆盖 父类的方法通常是为了对其进行修改,并添加新的功能。 子类中重写方法的访问控制权限要大于等于父类方法。 当一个被覆盖方法通过父类引用被调用,Java根据当前 被引用对象的类型来决定执行哪个方法。 例 说明: 子类不能覆盖父类中声明为final的方法。 ② 可以通过super关键字调用父类中被覆盖的成员。 子类可以继承父类的非私有成员变量和成员方法,但是,如果子类中声明的成员变量与父类的成员变量同名,那么父类的成员变量将被隐藏。如果子类中声明的成员方法与父类的成员方法同名,并且参数个数、类型和顺序也相同,那么称子类的成员方法覆盖了父类的成员方法。这时,如果想在子类中访问父类中被子类隐藏的成员方法或变量时,就可以使用super关键字-------父类对象的引用。 Super关键字 (1)调用父类的构造方法 构造方法作用的特殊性决定了它不可以被继承。但是在设计子类的时候,我们希望在父类某个构造方法的基础上来设计子类的构造,就可以在子类构造方法的第一条语句使用super来调用父类的某个构造方法。 语法如下:super([参数]); class Student { int number;String name; Student(int number,String name){ this.number=number; this.name=name; } } class UniverStudent extends Student{ boolean sex; UniverStudent(int number,String name,boolean sex) { //子类的构造方法 super(number,name); //调用父类的构造方法 this.sex=sex; } public static void main(String args[]) { UniverStudent zhangSan=new UniverStudent(2009020301, “张三,false); System.out.println(我是+zhangSan.name+ “ 我的学号是+ zhangSan.num
您可能关注的文档
最近下载
- 浙江省9 1高中联盟2022-2023学年高一上学期11月期中考试英语试题.docx VIP
- 工程造价专业中级职称理论考试题库-建设工程专业中级职称理论考试题库.docx VIP
- 【古文】文言文阅读之字词课件-六年级语文部编版.ppt
- 建筑结构专业中级职称理论题库-建设工程专业中级职称理论考试题库.docx VIP
- 锅炉操作工(初级工)职业鉴定理论考试题及答案.doc VIP
- 给排水专业中级职称理论考试题库-建设工程专业中级职称理论考试题库.docx VIP
- 圣诞节英文介绍课件.ppt
- 燃气工程专业中级职称理论考试题库-建设工程专业中级职称理论考试题库.docx VIP
- 麻醉科应急预案及流程.docx
- 2015传统民居与乡土建筑调研报告.doc VIP
文档评论(0)