面向对象特性:继承和多态

面向对象特性:继承和多态

ID:38688458

大小:2.56 MB

页数:41页

时间:2019-06-17

面向对象特性:继承和多态_第1页
面向对象特性:继承和多态_第2页
面向对象特性:继承和多态_第3页
面向对象特性:继承和多态_第4页
面向对象特性:继承和多态_第5页
资源描述:

《面向对象特性:继承和多态》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象特性:继承和多态回顾在Java程序中,代码封装带给我们的好处是什么?举例说明什么是方法重载?Java中的构造方法与实例方法,有什么区别?2本章任务升级HelloWorld,输出Oracle职员的基本信息:使用继承提高代码的复用性使用多态提高代码的可扩展性及可维护性3掌握继承掌握super关键字掌握多态本章目标4生活中的继承2-1生活中,继承的例子随处可见动物食草动物食肉动物谁是父类?谁是子类?能说出继承的特点吗?继承需要符合的关系:is-a,父类更通用、子类更具体5生活中的继承2-2子类具有父类的一般特性(包括

2、属性和行为),以及自身特殊的特性巴士是汽车吗?卡车是汽车吗?出租车是汽车吗?最大载客数量报站引擎数量外观颜色刹车加速汽车最大载重量卸货所属公司最大载客数量打发票属性行为请问:出租车包含哪些属性和行为呢?6为什么需要继承4-1开发Oracle职员类,其中职员分为Java职员以及.NET职员,各自的要求如下:Java职员属性:姓名、所属中心方法:编写代码(步骤:启动java开发工具、开始编码)、自我介绍.NET职员属性:姓名、所属中心方法:编写代码(步骤:启动.NET开发工具、开始编码)、自我介绍7请问:以下这个解决方案中

3、存在着什么问题?为什么需要继承4-2publicclassOracleDotNetStaff{privateStringname;//职员姓名privateStringschool;//所在中心publicOracleDotNetStaff(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLession(){System.out.println(“启动.net开发工具");System.out.println(“开始编码")

4、;}publicvoidintroduction(){System.out.println("大家好!我是"+school+"的"+name+".");}}publicclassOracleJavaStaff{privateStringname;//职员姓名privateStringschool;//所在中心publicOracleJavaStaff(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLession(){Sys

5、tem.out.println("启动java开发工具");System.out.println("开始编码");}publicvoidintroduction(){System.out.println("大家好!我是"+school+"的"+name+".");}}代码存在重复,违背了“writeoncerunanywhere”的原则8为什么需要继承4-3如何改进?有没有可能建立继承关系,让子类自动继承父类的属性和方法?Java职员是职员吗?.NET职员是职员吗?publicclassOracleStaff{priv

6、ateStringname;//职员姓名privateStringschool;//所在中心publicOracleStaff(StringmyName,StringmySchool){name=myName;school=mySchool;}publicvoidgiveLesson(){System.out.println(“开始编码");}publicvoidintroduction(){System.out.println("大家好!我是“+school+"的"+name+"。");}}现在,所有子类中相同的代码

7、都抽取到父类中了属 性行 为姓名所在中心编码自我介绍职员Java职员.NET职员9为什么需要继承4-4publicclassOracleJavaStaff2extendsOracleStaff{publicOracleJavaStaff2(StringmyName,StringmySchool){super(myName,mySchool);}publicvoidgiveLesson(){System.out.println(“启动java开发工具");super.giveLesson();}}publicclassO

8、racleDotNetStaff2extendsOracleStaff{publicOracleDotNetStaff2(StringmyName,StringmySchool){super(myName,mySchool);}publicvoidgiveLesson(){System.out.println("启动.NET开发工

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

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

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