- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章面向对象(下)_补充案例讲述
第四章 补充案例
案例4-1 类的继承
一、案例描述
考核知识点
编号名称:类的继承
练习目标
了解类继承的意义和作用
掌握如何实现类的继承
需求分析
在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系。
为了让初学者熟悉类的继承,本案例将演示类的继承并编写测试类验证子类是否拥有父类的可继承成员。
设计思路(实现原理)
1)设计两个类Student和Teacher
2)抽取两个类共同的内容(如:吃饭、睡觉)封装到一个类Person中,各自特有的部分保留在各自类中。
3)让学生类继承Person类,老师类也继承Person。
4)编写测试类Example01,测试Student类和Teacher是否继承了Person类的成员。
二、案例实现
1、抽取父类Person,实现继承关系,代码如下:
class Person {
String name;//姓名
// 吃饭的功能
void eat() {
System.out.println(吃饭 );
}
// 睡觉的功能
void sleep() {
System.out.println(睡觉);
}
}
class Student extends Person {
// 学号
int sid;
}
class Teacher extends Person {
// 工号
int tid;
// 教课的功能
void teach() {
System.out.println(老师教课);
}
}
public class Example01{
public static void main(String[] args) {
Student s = new Student();
s.eat();
s.sleep();
System.out.println(----);
Teacher t = new Teacher();
t.eat();
t.sleep();
t.teach();
}
}
运行结果如图4-1所示。
运行结果
三、案例总结
1、在Java中,多个类可以继承一个父类,但是一个类不能直接继承多个类,一个类只能有一个直接父类。
2、父类是由子类不断抽取而来的,不断地抽取就形成了体系结构,这个结构称为继承体系结构。
3、子类在继承父类的时候,会自动拥有父类所有的成员。4、继承的好处是划分了类的层次性,实现代码重用、扩展功能
案例4-2 方法的重写
一、案例描述
考核知识点
编号名称:方法的重写
练习目标
了解方法重写的意义和作用
掌握如何进行方法重写
需求分析
在继承关系中,子类会自动继承父类中定义的方法,但有时在子类中需要对继承的方法进行一些
修改,即对父类的方法进行重写。为了让初学者掌握方法的重写,本案例将编写一个类NewPhone,该类继承Phone类并对Phone类的call()方法进行重写。
设计思路(实现原理)
1)定义一个类Phone,编写方法call(),表示打电话功能
2)定义一个Phone的子类NewPhone,重写父类call()方法,让它除了打电话功能外还具有开启语言和关闭语言功能。
3)编写一个测试类Example02,分别调用重写前和重写后的call()方法
二、案例实现
1、定义Phone及其子类NewPhone,子类对父类中的call()方法重写,代码如下:
class Phone {
void call() {
System.out.println(打电话);
}
}
class NewPhone extends Phone {
void call() {
System.out.println(开启语音);
super.call();
System.out.println(关闭语音);
}
}
public class Example02{
public static void main(String[] args) {
System.out.println(--重写前--);
Phone phone = new Phone();
phone.call();
System.out.println(--重写后--);
Phone newPhone = new NewPhone();
newPhone.call();
}
}
运行结果
三、案例总结
1、子类中需要对继承自父类的方法进行一些修改,这时就用到方法重写。
2、在子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。
3、子类方法的访
文档评论(0)