北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第六讲 继承与多态

第六讲 继承与多态 北京理工大学计算机系
继承与多态 北京理工大学计算机系 第六讲

本讲内容 继承 多态 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 2 本讲内容 ◼ 继承 ◼ 多态

第一部分 继( nheritance)
继承(Inheritance) 第一部分

引例 一个最简单的窗口: SimplestWindow. java 现在要生成一个红色的窗体有几种方法? 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 4 引例 ◼ 一个最简单的窗口:SimplestWindow.java ◼ 问题: 现在要生成一个红色的窗体有几种方法?

最直观的方法 (1)在man函数中增加一句: Set Background(…y) 这是过程式的思维方法,受C的毒害太深! (2)复制所有 Window. java源文件到新文件中,然后 修改。 居然有这么蠢的程序员用这种作法,我无言了 题外话:出了名了中印程序员“数组s链表” (3)增加一个构造函数传递一个参数表明要生成红 色的窗体 可行的方法,基本合格 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 5 最直观的方法 ◼ (1)在main()函数中增加一句:SetBackground(…); 这是过程式的思维方法,受C的毒害太深! ◼ (2)复制所有Window.java源文件到新文件中,然后 修改。 ◼ (3)增加一个构造函数,传递一个参数表明要生成红 色的窗体 居然有这么蠢的程序员用这种作法,我无言了。 题外话:出了名了中印程序员“数组 vs 链表” 可行的方法,基本合格

个职业程序员的作法 使用组合 使用继承 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 6 一个职业程序员的作法 ◼ 使用组合 ◼ 使用继承

使用组合 首先需要改造 SimplestWindow以便于重用 代码。 新建一个类,以 SimplestWindow的一个对 象作为类成员 实例: Use Composition EXample java 2021/2/24 北京理工大学计算机系 7
2021/2/24 北京理工大学计算机系 7 使用组合 ◼ 首先需要改造SimplestWindow以便于重用 代码。 ◼ 新建一个类,以SimplestWindow的一个对 象作为类成员 ◼ 实例:UseCompositionExample.java

使用继承 新建一个 RedWindow类,从 SimplestWindows中派生出来 实例: UseInherits Example java 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 8 使用继承 ◼ 新建一个RedWindow类,从 SimplestWindows中派生出来 ◼ 实例:UseInheritsExample.java

组合Vs继承 对比两个示例: 1)使用组合的可以使用 SimplestWindow 的所有 Public方法,因而灵活度高 (2)使用继承的代码特别少,使用者不需 要了解 SimplestWindow的任何细节 面向对象设计通用原则 组合优先于继承 2021/2/24 北京理工大学计算机系 9
2021/2/24 北京理工大学计算机系 9 组合 vs 继承 ◼ 对比两个示例: (1)使用组合的可以使用SimplestWindow 的所有Public方法,因而灵活度高 (2)使用继承的代码特别少,使用者不需 要了解SimplestWindow的任何细节。 ◼ 面向对象设计通用原则: 组合优先于继承

继承的语法 Cass子类名 extends父类名 父类( parent class)=基类( base class)= 超类( super class 2021/2/24 北京理工大学计算机系
2021/2/24 北京理工大学计算机系 10 继承的语法 Class 子类名 extends 父类名 { …… } 父类(parent class)=基类(base class)= 超类(super class)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第八讲 异常处理.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第五讲 创建与使用类.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第七讲 接口与数据结构.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java开发Application.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第二讲 Java应用程序与Applet.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第三讲 Java语法基础.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第一讲 Java导论与Java开发环境(主讲:金旭亮).ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(学生作业)面向对象文档.doc
- 湖南农业大学:《计算机组成原理教案》第一章 计算机系统概论(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第五章 中央处理器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第三章 存储系统(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第七章 显示器(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第六章 总线的基本概念(蒋邵平).ppt
- 湖南农业大学:《计算机组成原理教案》第二章 数据格式(蒋邵平).ppt
- 重庆邮电大学:《C语言程序设计》课程授课计划二.doc
- 重庆邮电大学:《C语言程序设计》课程授课计划一.doc
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第9讲 存储类型 宏定义 数组.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第8讲 模块化程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第7讲 综合程序设计.ppt
- 重庆邮电大学:《C语言程序设计》课程PPT教学课件(讲稿)第6讲 循环和综合程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第四讲 方法.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)Java考试指导.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第九讲 范型程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十一讲 反射与序列化.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十三讲 图形程序设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十二讲 多线程.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十五讲 面向对象理论小结.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十四讲 事件处理模型与GUI图形界面设计.ppt
- 北京理工大学:《Java导论与Java开发环境》课程教学资源(PPT课件讲稿)第十讲 文件与流操作.ppt
- 《网络教程习题》1-14操作题.doc
- 《网络教程习题》15-30操作题.doc
- 《网络教程习题》31-43操作题.doc
- 《网络教程习题》44-53操作题.doc
- 《网络教程习题》54-68操作题.doc
- 《网络教程习题》69-72操作题.doc
- 《网络教程习题》73-79操作题.doc
- 《网络教程习题》80-81操作题.doc
- 《vb教学课程》第七章 数组.ppt
- 《vb教学课程》第六章 过程.ppt
- 《vb教学课程》第六章 常用控件与多窗体.ppt