JAVA课程第六章 继承和多态.ppt

JAVA课程第六章 继承和多态.ppt

ID:48607757

大小:560.00 KB

页数:65页

时间:2020-01-24

JAVA课程第六章 继承和多态.ppt_第1页
JAVA课程第六章 继承和多态.ppt_第2页
JAVA课程第六章 继承和多态.ppt_第3页
JAVA课程第六章 继承和多态.ppt_第4页
JAVA课程第六章 继承和多态.ppt_第5页
资源描述:

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

1、第六章面向对象三、类的继承在Java中,类是一个层次结构,其中Object为特殊超类或基类,所有的类都直接或间接地继承Object类;子类继承父类的属性和方法,同时也可以修改父类的属性或重载父类的方法,以及在父类的基础上添加新的属性和方法。因此,父类和子类之间反映的是“一般与特殊”的关系。父类与子类在类的继承中,被继承的类称为父类,继承而来的类则称为子类。有多个子类共同继承一个父类,那么这个父类就是多个类的基类。Java语言只支持单继承,如果要定义多继承,可以使用将要讲解的接口方法。何时选择继承性?

2、一个很好的经验:“B是一个A吗?”如果是则让B做A的子类.常犯的错误A有一个B吗?例如让汽车轮子成为汽车的子类是错误的继承的实现定义继承的形式为:[访问权限]class类名[extends父类]{类体}Java中的继承是通过extends关键字来实现的,在定义类时使用extends关键字指明新定义类的父类,就在两个类之间建立了继承关系。新定义的类称为子类,它可以从父类那里继承所有非private的属性和方法作为自己的成员。继承举例党员类学生类学生党员学生类在职学生脱产学生一个类有多个父类:多继承一个

3、类只有一个父类:单继承任务6-1publicclassStudent{Stringname;//姓名intNo;//学号StringInfo(){return"姓名:"+name+"学号:"+No;}}publicclassonJobStudentextendsStudent{}publicclasstestOnJobStudent{publicstaticvoidmain(String[]args){onJobStudentli=newonJobStudent();li.name="李丽";li.

4、No=20080101;System.out.println(li.Info());}}程序输出:姓名:李丽学号:20080101程序说明:子类自动拥有父类的非私有属性和方法publicclassStudent{Stringname;//姓名intNo;//学号StringInfo(){return"姓名:"+name+"学号:"+No;}}任务6-2publicclassonJobStudentextendsStudent{Stringtitle;//职称Stringcompany;//所在单位v

5、oidprintWorkMsg(){System.out.println("职称:"+title+"单位:"+company);}}子类onJobStudent添加了两个属性和一个方法publicclasstestOnJobStudent{publicstaticvoidmain(Stringargs[]){onJobStudentzhang=newonJobStudent();zhang.name="张三";zhang.No=20081002;zhang.company="广州宝杰公司";zhan

6、g.title="工程师";System.out.println(zhang.Info());zhang.printWorkMsg();}}任务6-2姓名:张三学号:20081002职称:工程师单位:广州宝杰公司Student类变量:nameNo方法:StringInfo()onJobStudent类变量:nameNo方法:StringInfo()变量:companytitle方法:voidprintWorkMsg()从父类继承的变量从父类继承的方法任务6-2任务12总结子类自动拥有父类非私有变量子

7、类可以在继承父类后再添加属于自己的属性和方法1有A类、B类和测试类testAB分别如下定义:publicclassA{A(){System.out.println("a");}}publicclassBextendsA{}publicclasstestAB{publicstaticvoidmain(Stringargs[]){Bb1=newB();}}请问testAB类的输出是什么?这说明什么问题?课后习题课后实训一、类的多层继承(1)设计一个Point类,包含横坐标x和纵坐标y。(2)设计一个Ci

8、rcle类,继承Point类,并添加int类型的变量radius(半径),求面积方法doublearea()和求周长方法doubleperimeter()。(3)设计一个Cylindar类,继承Circle类,并添加int类型的变量height(高度),求体积方法doublevolumn()。(4)编写测试程序test类,实现下列功能:在main函数中生成两个点p1(3,4)和p2(5,6),生成一个圆c1,圆心在(0,0),半径为3,计算并输出圆c1的面积和周长生成

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

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

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