华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第八章 继承

苹者演大孝 South China Agr icultur al Uni versity 第八章继承
第八章 继 承

主要内容: ■81创建子类 ■82方法重载 ■83类层次结构 ■84可见性 ■85类间继承关系的结构 ■86组件类的层次结构 ■8.7扩展运配器类 ■88定时器类
主要内容: ◼ 8.1 创建子类 ◼ 8.2 方法重载 ◼ 8.3 类层次结构 ◼ 8.4 可见性 ◼ 8.5 类间继承关系的结构 ◼ 8.6 组件类的层次结构 ◼ 8.7 扩展适配器类 ◼ 8.8 定时器类

81创建子类 ■继承是现有类派生新类的过程。 用于派生新类的原始类称为父类、超类或者是基 类 ■被派生出的类称为子类或者是亚类 ■通过继承,新类自动包含了原始类的变量和方法 ■继承关系在UML类图中用空 Vehicle 心肩头表示,箭头从子类指向父 类。 Car
3 8.1 创建子类 ◼继承是现有类派生新类的过程。 ◼用于派生新类的原始类称为 父类、超类或者是基 类. ◼被派生出的类称为子类 或者是亚类 ◼ 通过继承,新类自动包含了原始类的变量和方法. ◼ 继承关系在UML类图中用空 心肩头表示,箭头从子类指向父 类。 Vehicle Car

Inheritance 继承的过程是在两个类之间建立“是一种”的关系,就 是说子类是一种更具体的父类版。 ■程序员可以将新变量和方法添加到派生的新类,或者修 改新类的变量和方法。 ■继承的目的之一是实现软件重用。 ■通过继承创建新类比重新写类更方便、快捷、成本低。 ■继承支持软件重用,使得可以利用现有软件传见新组件 以便将主要精力投在软件的设计、实现和测试
4 Inheritance ◼ 继承的过程是在两个类之间建立“是一种”的关系,就 是说子类是一种更具体的父类版。 ◼ 程序员可以将新变量和方法添加到派生的新类,或者修 改新类的变量和方法。 ◼ 继承的目的之一是实现软件重用。 ◼ 通过继承创建新类比重新写类更方便、快捷、成本低。 ◼ 继承支持软件重用,使得可以利用现有软件传见新组件, 以便将主要精力投在软件的设计、实现和测试

Deriving Subclasses ■在java中,使用 extends建立类之间的继承关系。 class Car extends vehicle // class contents See Words, java(page 288) See Book, iava(page 289) See Dictionary. iava (page 289)
5 Deriving Subclasses ◼ 在java中,使用extends建立类之间的继承关系。 ◼ See Words.java (page 288) ◼ See Book.java (page 289) ◼ See Dictionary.java (page 289) class Car extends Vehicle { // class contents }

811 Protected修饰符 ■可见性修饰符影像着父类中的类成员的访问方式 ■父类的 Private方法或变量则不能在子类中访问,或 通过子类对象访问 一个父类的Pub1ic方法或者变量可以在子类中按名 词访问,或通过子类对象访问。 ■单只为了子类能够访问而声明一个父类 Public变量, 则将违反封装性原理。 ■Java中提供了第三种可见性修饰符: protected
6 8.1.1 Protected修饰符 ◼ 可见性修饰符影像着父类中的类成员的访问方式。 ◼ 父类的 Private 方法或变量则不能在子类中访问,或 通过子类对象访问。 ◼ 一个父类的 Public 方法或者变量可以在子类中按名 词访问,或通过子类对象访问。 ◼ 单只为了子类能够访问而声明一个父类 Public 变量, 则将违反封装性原理。 ◼ Java 中提供了第三种可见性修饰符: protected

The protected Modifier ■在当一个变量或方法声明为 protected可见性时 子类就可以引用,并且使父类保持了一定的封装性。 ■声明为 protected可见性的变量和方法可以由同 个包内的任何类访问。 ■在UM图中, protected成员前加“#”符号表 示 protected可见性
7 The protected Modifier ◼ 在当一个变量或方法声明为 protected 可见性时, 子类就可以引用,并且使父类保持了一定的封装性。 ◼ 声明为 protected 可见性的变量和方法可以由同一 个包内的任何类访问。 ◼ 在 UML 图中,protected 成员前加 “#” 符号表 示 proteceed 可见性

Class Diagram for Words Book f pages int pageMessage(: void Words Dictionary definitions: int main(args: String D): void definition Message(: void
Class Diagram for Words Book # pages : int + pageMessage() : void Dictionary - definitions : int + definitionMessage() : void Words + main (args : String[]) : void

812 super引用 ■在继承中,父类所有的方法和变量(即使声明为 private可见性)都将由子类继承。 ■子类存在父类的所有方法和变量的定义,并且为变量预 留了内存空间,但是子类不能按名引用父类的 private成员。 ■构造方法不能被继承。构造方法是一种特殊方法,用于 创建一个具体类型的对象,子类没有必要继承父类的构 造方法。 ■如何处理子类引用父类的构造方法??
9 8.1.2 super引用 ◼ 在继承中,父类所有的方法和变量(即使声明为 private可见性)都将由子类继承。 ◼ 子类存在父类的所有方法和变量的定义,并且为变量预 留了内存空间,但是子类不能按名引用父类的 private成员。 ◼ 构造方法不能被继承。构造方法是一种特殊方法,用于 创建一个具体类型的对象,子类没有必要继承父类的构 造方法。 ◼ 如何处理子类引用父类的构造方法??

苹者演大孝 South China Agr icultur al Uni versity ■在Java中,使用保留字 super引用父类,使用 super引用可以访问父类的成员 ■使用 super引用可以调用父类的构造方法。 See Words2, java(page 291) See Book2, iava(page 292 See Dictionary2 iava (page 293)
◼ 在 Java 中,使用保留字 super 引用父类,使用 super 引用可以访问父类的成员。 ◼ 使用 super 引用可以调用父类的构造方法。 ◼ See Words2.java (page 291) ◼ See Book2.java (page 292) ◼ See Dictionary2.java (page 293)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第七章 数组.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第六章 面向对象设计.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第五章 条件和循环语句.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第四章 编写类.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第三章 使用类和对象.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第二章 数据与表达式.ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第一章 Hello Java(黄小虎).ppt
- 华南农业大学理学院:《面向对象的程序设计》课程教学资源(PPT课件)第九章 多态性.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第8章. Intel系列高档微处理器的技术发展.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第7章. 可编程接口芯片及应用.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第6章. 输入与输出中断.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第5章.微机的存储器.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第4章. 80868088汇编语言程序设计.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第3章. 8086/8088微处理器及其系统.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第2章. 微机运算基础.ppt
- 《新编16/32位微型计算机原理及应用》课程教学资源(PPT课件)第1章. 微机系统导论.ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第四讲 8086/8088的指令系统.ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第四讲 8086/8088的指令系统.ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第六讲 8086指令系统(续).ppt
- 北京航空航天大学:《微机原理》课程教学资源(PPT课件)第三讲 8086/8088CPU结构(1/2).ppt
- 广州航海学院(广州航海高等专科学校):《电子商务》课程教学资源_参考实验网址.doc
- 广州航海学院(广州航海高等专科学校):《电子商务》课程教学资源_参考文献.doc
- 广州航海学院(广州航海高等专科学校):《电子商务》课程教学资源_电子商务教学方案.doc
- 《电子商务》PPT讲稿 第一章 引言-什么是电子商务(1.3-1.5).ppt
- 《电子商务》PPT讲稿 第五章 电子商务与金融电子化(2/3).ppt
- 《电子商务》PPT讲稿 第五章 电子商务与金融电子化(3/3).ppt
- 《电子商务》PPT讲稿 第六章 电子商务实现技术-数据库技术.ppt
- 《电子商务》PPT讲稿 第七章 物流标识技术.ppt
- 《电子商务》PPT讲稿 第八章 创建一个企业的电子商务(1/2).ppt
- 《电子商务》PPT讲稿 第八章 创建一个企业的电子商务(2/2).ppt
- 《电子商务》PPT讲稿 第九章 网络商务信息的收集和整理(1/2).ppt
- 《电子商务》PPT讲稿 第九章 网络商务信息的收集和整理(2/2).ppt
- 《电子商务》PPT讲稿 第十章 网络消费者的购买行为(1/2).ppt
- 《电子商务》PPT讲稿 第十章 网络消费者的购买行为(2/2).ppt
- 《电子商务》PPT讲稿 第二章 电子商务流程与模式(1/2).ppt
- 《电子商务》PPT讲稿 第十一章 网络促销(1/3).ppt
- 《电子商务》PPT讲稿 第十一章 网络促销(2/3).ppt
- 《电子商务》PPT讲稿 第十一章 网络促销(3/3).ppt
- 《电子商务》PPT讲稿 第十五章 电子商务解决方案(1/3).ppt
- 《电子商务》PPT讲稿 第十五章 电子商务解决方案(2/3).ppt