合肥工业大学:《Java语言程序设计》课程教学资源(PPT课件讲稿)第五章 接口

第五章接口 抽象类 多态 接
第五章 接口 ▪ 抽象类 ▪ 多态 ▪ 接口

抽象类 Animal 回顾Anma的类结构: make Noise eato 1通过继承最大限度地减少了重复代 sleep 码 roam 2通过覆盖,以及多态的特征保证每 个子类的独特性 3在一使用Anma的程序里, Feline Canine (包括 Animal作为形参或数 roam roam 组声明里), 任何 Anima的子类型(现有或以 一后添加的)都可以作为实参被传 Lion Cat Wolf Dog 递,并在运行时得到类型识别。 nake Noise0 make Noise0 make Noised make NoiseO eato eato eato eato
Animal makeNoise() eat() sleep() roam() Canine roam() Wolf makeNoise() eat() Dog makeNoise() eat() Feline roam() Lion makeNoise() eat() Cat makeNoise() eat() 回顾Animal的类结构: 1 通过继承最大限度地减少了重复代 码 2 通过覆盖,以及多态的特征保证每 个子类的独特性。 3 在一使用Animal的程序里, (包括Animal作为形参或数 组声明里), 任何Animal的子类型(现有或以 后添加的)都可以作为实参被传 递,并在运行时得到类型识别。 抽象类

过去在程序里说: Dog my Dog =new Dogo; Dog对象 现在在程序里说 bog引用 Animal my Dog new DogO 两者的类型是相同的 Dog对象 Anima引用 两者的类型是不同的
过去在程序里说: Dog myDog =new Dog() ; Animal myDog= new Dog() ; 1 Dog 对象 Dog引用 两者的类型是相同的 1 Dog 对象 Animal引用 两者的类型是不同的 现在在程序里说:

下面这句有些不自然: Animal anim=new Animal Anima|对象 Animal引用 两者的类型相同,但是一个 实际的Anma对象可以是什 么呢?
下面这句有些不自然: Animal anim=new Animal() ; 1 ? Animal 对象 Animal引用 两者的类型相同,但是一个 实际的Animal对象可以是什 么呢? ?

需要一个Anma类,用于继承和多态 不需要实例化Anma类,不需要一个 Anima对象 需要一个防止类被实例化的方法 把该类标记为“ abstract
需要一个Animal类,用于继承和多态 不需要实例化Animal类,不需要一个Animal对象 需要一个防止类被实例化的方法: 把该类标记为“abstract

abstact class Animal t public void sleep abstact class Canine extends Animal public void roam (1
abstact class Animal { public void sleep() { } } abstact class Canine extends Animal { public void roam() { } }

编译器确保抽象类不会被实例化: abstact class Canine extends Animal public void roam] public class Make Canine i public void goo t Canine c 尽管是抽象类,仍然允许声明该类型的引用 c=new Dogo c= new Canine;eror,不允许实例化一个抽象的类 c roam
编译器确保抽象类不会被实例化: abstact class Canine extends Animal { public void roam() { } } public class MakeCanine { public void go() { Canine c; c=new Dog() ; c=new Canine() ; c.roam(); } } 尽管是抽象类,仍然允许声明该类型的引用。 error,不允许实例化一个抽象的类

Anima族中抽 abstract 象和具体的类 Anima abstract abstract Feline Canine 抽象的类位于继承 树的上部:通过被 扩展而得到应用的 Lion Cat Wolf Dog 价值。 concrete concrete concrete concrete
Animal Feline Canine Lion Cat Wolf Dog abstract abstract abstract concrete concrete concrete concrete Animal族中抽 象和具体的类 抽象的类位于继承 树的上部:通过被 扩展而得到应用的 价值

抽象的方法 抽象的方法意味着该方法必须被子类覆盖;它是没有体的 publiclabstract) void eat(; 没有方法体!以 分号结束。 抽象的方法必须位于抽象类里;但是,抽象类可以拥 有非抽象的方法
抽象的方法 抽象的方法意味着该方法必须被子类覆盖;它是没有体的 public abstract void eat() ; 没有方法体!以 分号结束。 抽象的方法必须位于抽象类里;但是,抽象类可以拥 有非抽象的方法

口 Anima 你必须实现所有的抽象方法 least 在继承树上的第一个具体的 Bromo 类必须实现所有的抽象方法。 Make Noise 即为抽象方法提供一个体。 abstract □ Canine concrete roam Dog eat nakeNoiseO
你必须实现所有的抽象方法: 在继承树上的第一个具体的 类必须实现所有的抽象方法。 即为抽象方法提供一个体。 Animal eat() roam() roam() makeNoise() Canine Dog eat() makeNoise() abstract concrete
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 合肥工业大学:《Java语言程序设计》课程教学资源(PPT课件讲稿)第二章 Java语言基础.ppt
- 合肥工业大学:《Java语言程序设计》课程教学资源(PPT课件讲稿)第三章 面向对象基础.ppt
- 合肥工业大学:《Java语言程序设计》课程教学资源(PPT课件讲稿)第一章 Java语言概述(刘政).ppt
- 《电子商务概论》课程教学资源(参考资料)资料二.doc
- 《电子商务概论》课程教学资源(参考资料)资料一.doc
- 《电子商务概论》课程教学资源(PPT课件讲稿)第三章 电子商务的技术基础.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第四章 电子商务系统的安全技术.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)Java语言概述.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第7章 网页制作脚本语言.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第7章 可制作动态网页的软件.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第5章 动画 Flash制作软件.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第4章 图像 Fireworks处理软件.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第3章 HTML.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第2章 网页设计知识.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第1章 网页基础知识.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第11章 网页的发布与维护.ppt
- 《网页设计与制作》课程教学资源(PPT课件讲稿)第10章 动态网页制作技术.ppt
- 《Java高级程序设计》第一章(1-3) 运算符、表达式和语句.ppt
- 《Java高级程序设计》第二章(2-1) Java与多媒体.ppt
- 《Java高级程序设计》第一章(1-1) Java APl包.ppt
- 合肥工业大学:《Java语言程序设计》课程教学资源(PPT课件讲稿)第四章 面向对象特性.ppt
- 《电子商务概论》课程电子教案(PPT教学课件,共七章).ppt
- 《C语言程序设计》课程教学资源:第1章 C语言概述.ppt
- 《C语言程序设计》课程教学资源:第2章 数据类型、运算符与表达式.ppt
- 《C语言程序设计》课程教学资源:第3章 顺序结构程序设计.ppt
- 《C语言程序设计》课程教学资源:第4章 选择结构程序设计.ppt
- 《C语言程序设计》课程教学资源:第5章 循环结构程序设计.ppt
- 《C语言程序设计》课程教学资源:第6章 数组.ppt
- 《C语言程序设计》课程教学资源:第7章 函数.ppt
- 《C语言程序设计》课程教学资源:第8章 编译预处理.ppt
- 《C语言程序设计》课程教学资源:第9章 指针.ppt
- 《C语言程序设计》课程教学资源:第10章 结构与链表.ppt
- 《C语言程序设计》课程教学资源:第11章 位运算.ppt
- 《C语言程序设计》课程教学资源:第12章 文件.ppt
- 《C语言程序设计》课程教学资源:电子教案的结构和使用说明.doc
- 《C语言程序设计》课程教学资源:封面与目录.ppt
- 襄樊职业学院:《计算机组装与维护》第4章 内存储器.ppt
- 襄樊职业学院:《计算机组装与维护》第5章 外存储设备.ppt
- 襄樊职业学院:《计算机组装与维护》第6章 显卡与显示器.ppt
- 襄樊职业学院:《计算机组装与维护》第7章 声卡与音箱.ppt