版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
抽象类和接口学完本次课程后,你能够:了解抽象类和普通类的区别会使用抽象类会定义抽象方法会定义接口了解抽象类和接口的区别了解面向对象设计原则本课目标2/30
抽象类与抽象方法2-1回顾如下代码
但可以创建一个引用变量,其类型是一个抽象类,指向非抽
象的子类实例
普通类可以被实例化抽象方法VS普通方法
有无方法体
publicabstract
class
Pet
{
public
abstract
void
toHospital()
;
}抽象类VS普通类
抽象类不能被实例化
抽象类
抽象方法想一想:Why?3/30抽象类与抽象方法2-2抽象类与抽象方法的使用抽象类中可以没有抽象方法,但包含了抽象方法的类必须被定义为抽象类如果子类没有实现父类的所有抽象方法,子类必须被定义为抽象类没有抽象构造方法,也没有抽象静态方法抽象类中可以有非抽象的构造方法,创建子类的实例时可能调用演示示例:抽象类与抽象方法的使用4/30要求实现防盗门的功能为什么使用接口分析门有“开”和“关”的功能,锁有“上锁”和“开锁”的功能将门和锁分别定义为抽象类防盗门可以继承门的同时又继承锁吗?如何解决这个问题呢?问题5/30要求实现防盗门的功能为什么使用接口分析门有“开”和“关”的功能,锁有“上锁”和“开锁”的功能将门定义为抽象类,锁定义为接口防盗门继承门,实现锁的接口问题6/30实现类必须实现接口的所有方法,除非是抽象类实现类可以实现多个接口
implements、多个接口使用逗号隔开接口中的变量都是静态常量(public
static
final)
什么是接口认识一下接口
public
interface
MyInterface
{
public
void
foo();
//其他方法
}必须知道的接口特性
接口不可以被实例化Java中的多继承所有方法默认都是:public
abstract
常作为类型使用7/30用程序描述USB接口如何使用接口问题8/30如何使用接口USB接口本身没有实现任何功能
USB接口规定了数据传输的要求
USB接口可以被多种USB设备实现可以使用Java接口来实现编写USB接口实现USB接口使用USB接口
根据需求设计方法实现所有方法
用多态的方式使用分析演示示例:USB接口9/30防盗门是一个门防盗门有一个锁上锁开锁能力
is
a的关系has
a的关系
面向接口编程3-1问题
实现防盗门功能分析10/30定义Lock接口
面向接口编程3-2
实现过程
具备上锁、
开锁的能力具有开门、关门的功能编写TheftproofDoor类继承类实现接口让防盗门关门、上锁、开锁、开门定义Door
抽象类
编写测试类演示示例:防盗门功能11/30扩展防盗门门铃功能,主要实现拍照存档面向接口编程3-3一个人可以具有多项能力一个类可以实现多个接口问题演示示例:防盗门扩展功能12/30接口中的成员变量默认都是public
static
final的,必须显式初始化接口中的方法默认都是public
abstract的接口没有构造方法,不能被实例化一个接口不能实现另一个接口,但可以继承多个其他接口一个类必须实现接口抽象方法(implements),除非这个类也是抽象类接口使用13/30阅读代码,找出错误小结publicinterface
MyInterface
{public
MyInterface();public
void
method1();public
void
method2(){
}private
void
method3();void
method4();int
method5();int
TYPE
=
1;}代码阅读14/30相同点代表系统的抽象层都不能被实例化都能包含抽象方法用于描述系统提供的服务,不必提供具体实现不同点在抽象类中可以为部分方法提供默认实现,而接口中只能包含抽象方法抽象类便于复用,接口便于代码维护一个类只能继承一个直接的父类,但可以实现多个接口抽象类vs接口15/30使用原则接口做系统与外界交互的窗口接口提供服务接口本身一旦制定,就不允许随意修改抽象类可完成部分功能实现,还有部分功能可作为系统的扩展点抽象类vs接口16/3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《水电解质代谢紊乱》课件
- 《氩弧焊焊接工艺》课件
- 数学建模竞赛论文的写作
- 2026装饰装修行业市场趋势分析及设计创新与材料应用研究报告
- 2026纳米材料市场发展分析及新兴应用与投资可行性评估报告
- 17爱如茉莉课堂
- 2026中国强迫症认知行为疗法标准化与远程医疗融合路径
- 2026冷链物流行业市场发展分析及前景趋势与食品安全研究报告
- 《教育的起源》课件
- 2026重型机械制造行业技术升级市场发展需求投资评估规划建议分析研究报告
- 2026年部编版新教材道德与法治八年级上册全套单元、期中、期末检测题及答案(共6套)
- GB 20815-2026视频安防监控数字录像设备
- 食品检验检测机构授权签字人考核通关指南
- 安徽省县中联盟大联考2025-2026学年高二年级上册10月月考物理试题(原卷版)
- 2026年养老管理师考试试题及答案详解
- 2026年上海市浦东新区高三二模英语试题(含答案)
- 产程中产妇情绪管理及心理护理要点
- 幼儿园家长数字素养对家园共育质量影响研究-基于2023年素养测评与共育质量评估
- 楼盘招商活动策划方案
- 20S515 钢筋混凝土及砖砌排水检查井
- 兽医外科行业发展趋势及前景展望分析报告
评论
0/150
提交评论