第11章、面向对象的Java实现继承和多态ppt课件.ppt

第11章、面向对象的Java实现继承和多态ppt课件.ppt

ID:59197687

大小:386.00 KB

页数:30页

时间:2020-09-26

第11章、面向对象的Java实现继承和多态ppt课件.ppt_第1页
第11章、面向对象的Java实现继承和多态ppt课件.ppt_第2页
第11章、面向对象的Java实现继承和多态ppt课件.ppt_第3页
第11章、面向对象的Java实现继承和多态ppt课件.ppt_第4页
第11章、面向对象的Java实现继承和多态ppt课件.ppt_第5页
资源描述:

《第11章、面向对象的Java实现继承和多态ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章面向对象的Java实现-------继承和多态回顾在Java程序中,代码封装带给我们的好处是什么?Java中的构造方法与实例方法,有什么区别?Java中如果有了显示的构造方法隐式的还会存在么?/学习目标掌握继承掌握super关键字掌握多态/生活中的继承2-1生活中,继承的例子随处可见/动物食草动物食肉动物谁是父类?谁是子类?能说出继承的特点吗?继承需要符合的关系:is-a,父类更通用、子类更具体生活中的继承2-2子类具有父类的一般特性(包括属性和行为),以及自身特殊的特性/巴士是汽车吗?卡车是汽车吗?出租车是汽车吗?最大载客数量报站引擎数量外观颜色刹车加速汽车最大载重量卸

2、货所属公司最大载客数量打发票属性行为请问:出租车包含哪些属性和行为呢?为什么需要继承在做开发时,经常会遇到这样的问题:要开发学校管理系统,其中的对象有教师类和学生类,各自的要求如下:教师类属性:姓名、性别、年龄、教授课程方法:自我介绍、授课学生类属性:学号、姓名、性别、年龄方法:自我介绍、学习为什么需要继承问题:下面代码中存在什么问题?publicclassTeacher{//属性Stringname;charsex;intage;Stringlesson;//构造方法//省略方法//方法publicvoidintroduction(){System.out.println("大

3、家好,我叫"+name+","+sex+",今年"+age+"岁!");}publicvoidteach(){System.out.println(name+"正在讲课...");}}publicclassStudent{//属性Stringno;Stringname;charsex;intage;//构造方法//省略//方法publicvoidintroduction(){System.out.println("大家好,我叫"+name+","+sex+",今年"+age+"岁!");}publicvoidstudy(){System.out.println(name+"正在学

4、习...");}}(︶︿︶)真麻烦!为什么需要继承4-3如何改进?有没有可能建立继承关系,让子类自动继承父类的属性和方法?/现在,所有子类中相同的代码都抽取到父类中了人教师学生姓名性别年龄自我介绍属性行为教授课程授课学号学习如何实现继承?继承是指从一个基类出发定义另一个新类即派生类的过程。派生类自动具有基类的所有非私有的实例变量(数据成员)和实现方法,而且派生类还可以增加新的成员变量和方法。父类:超类(superclass),又叫基类(basedclass);子类:subclass,又叫派生类或导出类(derivedclass)JAVA中用extends关键字实现继承。语法如下:

5、例如:publicclass子类名extends父类名{//类体}publicclassStudentextendsPerson{//类体}如何实现继承?父类中只定义一些通用的属性和方法。子类自动继承父类中的属性和方法,还可以定义自己特有的属性和方法。publicclassPerson{//属性Stringname;charsex;intage;//构造方法publicPerson(Stringname,charsex,intage){this.name=name;this.sex=sex;this.age=age;}//方法publicvoidintroduction(){Sy

6、stem.out.println("大家好,我叫"+name+","+sex+",今年"+age+"岁!");}}publicclassTeacherextendsPerson{//属性Stringlesson;//构造方法publicTeacher(Stringname,charsex,intage,Stringlesson){super(name,sex,age);this.lesson=lesson;}//方法publicvoidteach(){System.out.println(name+"正在讲课...");}}publicclassStudentextendsPer

7、son{//属性Stringno;//构造方法publicStudent(Stringno,Stringname,charsex,intage){super(name,sex,age);this.no=no;}//方法publicvoidstudy(){System.out.println(name+"正在学习...");}}优点:可以有效实现代码的重用方法重写(overriding)方法重写(overriding):子类和父类的方法具有相同的名称、参数列表、返回类型方法重写只存

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

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

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