版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单元5
抽象类与接口5.1抽象类与接口程序设计
任务书5.1设计成品入库业务接口任务描述基于RFID的成品自动防呆出货系统中,入库RFID系统的数据是仓库管理员从MES系统中导出的数据,与RFID系统扫描实际成品货物上的RFID标签数据进行对比,匹配的成品才可以入库。对于入库的成品数据可以进行更新操作,即增加、删除、修改、查询。效果如图5-1所示。图5-1成品入库管理系统知识目标理解抽象类的概念。理解接口的作用。熟悉接口的定义与实现。熟悉对象转换类型。能力目标能使用多态与接口结合的技术,解决实际问题。能使用面向接口编程模式可以使业务逻辑思路清晰,编程灵活,可维护性高。素养目标培养探究式学习的能力以及精益求精的工匠精神。团队合作、沟通交流。任务书5.1设计成品入库业务接口生活中的抽象案例
相关知识模拟“商店销售商品”场景:“商店销售商品”,这就是一个抽象的行为:到底哪个商店,是超市还是商场,是实体店还是网店,都不清楚?这个抽象行为没有指明具体的信息。我们设计一个超市的抽象类,并定义销售的抽象方法。具体是哪家商店,销售什么商品,交给子类去实现。5.1.1抽象类抽象类和抽象方法
抽象类抽象类:Java中有一种类,派生出很多子类,而自身是不能用来生产对象的,这种类称为“抽象类”。抽象类的作用有点类似“模板”,其目的是要设计者依据它的格式,来修改并创建新的子类。定义抽象类与抽象方法时,必须使用abstract关键字,语法如下:[访问权限修饰符]abstractclass类名{
声明数据成员;
访问权限返回值的数据类型方法名(参数列表){
//定义一般方法}
abstract
返回值的数据类型方法名(参数列表);}5.1.1抽象类生活中的抽象案例案例:超市抽象类public
abstract
classMarket{publicStringname;//商店名称publicStringgoods;//商品名称public
abstract
voidsale();}定义一个抽象类定义一个抽象方法在抽象类中,可以包含抽象方法,也可以不包含抽象方法,但是包含了抽象方法的类必须被定义为抽象类。5.1.1抽象类案例:超市抽象类public
classRTMarketextendsMarket{public
voidsale(){ System.out.println(name+"超市销售"
+goods);}}public
classJingDongMarketextendsMarket{public
void
sale(){System.out.println(name+"商城销售"
+goods);}}抽象类被继承后,子类需要重写抽象类中的所有抽象方法如果继承抽象类的子类也被声明为抽象类,则可以不用重复父类中所有的抽象方法。5.1.1抽象类public
classGoShoping{public
static
voidmain(String[]args){Marketmarket=newRTMarket();
market.name="大润发";market.goods="奥妙洗衣粉";market.shop();market=newJingDongMarket();
market.name="京东";market.goods="蓝月亮洗衣粉";market.shop();}}案例:抽象类抽象类不能直接被实例化,
如newMarket()。利用子类实例化,实现对象多态性,向上转型。5.1.1抽象类抽象类的使用原则
抽象类抽象类必须要有子类,子类必须使用extends继承抽象类,一个子类只能继承
一个抽象类。创建子类,必须实现抽象类中的全部抽象方法。反之,该子类则为抽象类。如果要想实例化抽象类的对象,则可以通过子类进行对象的向上转型来实现。5.1.1抽象类
接口概念生活中的接口案例U盘
移动硬盘
手机5.1.2接口
接口概念生活中的接口案例
声卡显卡网卡主板每种卡的内部结构都不相同,可以把声卡、网卡、显卡都插在PCI插槽上,而不用担心哪个插槽是专门插哪个卡的。5.1.2接口
接口概念什么是接口接口(Interface)的本质其实也是一个类,而且是一个比抽象类还要抽象的类。5.1.2接口
接口概念什么是接口
接口(Interface),接口是类的行为的抽象概述。在JAVA编程语言中,是一个抽象类型,是抽象方法(功能)的集合,接口通常以interface来声明。(1)有利于代码的规范(2)有利于代码进行维护(3)有利于代码的安全和严密(4)丰富了继承的方式接口的作用5.1.2接口
接口及实现类接口的声明[访问权限修饰符]interface
接口名[extends
父接口名列表]{
[public][static][final]常量;
[public]
[abstract]方法名();//定义没有方法体的抽象方法}在Java中接口是一种与类相似的结构,只包含常量和抽象方法。每个接口都被编译为独立的字节码文件。5.1.2接口
接口及实现类接口的实现[访问权限修饰符]class
类名
implements
接口名表{
}接口可实现多继承,一个类可以实现多个接口。实现接口的子类不能对接口中的变量重新赋值。5.1.2接口
示例:接口及实现类创建教师类和学生类,两个类都实现了问候接口和工作接口,模拟上课的场景。public
interfaceAction{//创建一个Action接口 public
voidwork();//创建一个抽象方法work() public
voidtalk();//创建一个抽象方法talk()}声明接口Action命名规范:接口名必须是合法的Java标识符,一般情况下,接口名可以是一个形容词或者名词,要求首字母大写。15.1.2接口public
classStudentimplementsAction{//创建一个Student类实现接口ActionpublicStringname;//定义姓名publicStudent(Stringname){//对姓名进行初始化this.name=name;}@Overridepublic
voidwork(){//重写work()方法System.out.println(name+":同学开始记笔记");}@Overridepublic
voidtalk(){//重写talk()方法System.out.println(name+":老师好");}}
示例:接口及实现类声明Student类实现接口2接口必须有子类,子类依靠implements关键字可以实现多个接口。利用接口创建子类的过程,称为接口实现。5.1.2接口
示例:接口及实现类public
classTeacherimplementsAction{//创建一个Teacher类实现接口Action
publicStringname;//定义姓名publicTeacher(Stringname){//对姓名进行初始化this.name=name;}@Overridepublic
voidwork(){//重写work()方法System.out.println(name+":老师开始上课");}@Overridepublic
voidtalk(){//重写talk()方法System.out.println(name+":同学们好");}}声明Teacher类实现接口3接口中的方法都是抽象方法,所以当子类实现接口时,必须实现接口中的所有抽象方法。5.1.2接口
示例:接口及实现类public
classTest{//创建一个Test类public
static
voidmain(String[]args){Action[]per={newStudent("张非"),newTeacher("孙斌")};//通过相应的对象调用相应的方法实现控制台输出结果per[0].talk();per[1].talk();per[1].work();per[0].work();}}测试类Test利用实现类实例化,实现对象多态性,向上转型。接口与抽象类相似,不能使用new操作符创建接口的实例。运行时,根据实际创建的对象类型调用相应的方法实现。45.1.2接口
接口及实现类接口和抽象类的区别
接口与抽象类的区别变量构造方法方法抽象类无限制子类通过构造方法调用父类构造方法,抽象类不能用new操作符实例化无限制接口所有变量必须是publicstati
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年初级会计职称考试测试题及答案(全科)
- 2026年吉林省松原中小学教师招聘考试试卷带答案
- 2026年保密考试简答题题库含答案
- 2026年高考北京卷文综考试试卷及答案
- 2025年辽宁铁岭中小学教师招聘考试试卷及答案
- 砌体工程冬期、雨期施工教学设计中职专业课-主体结构工程施工-建筑类-土木建筑大类
- 第3课 毕昇和活字印刷教学设计小学地方、校本课程浙教版人·自然·社会
- 第4单元第13课《忠诚卫士-红外传感器和计数器的应用》-教学设计清华大学版(2012)初中信息技术九年级下册
- 江苏省常州市实验中学2025-2026学年九年级(下)段考化学试卷(3月份)(含答案)
- 第七节 数据的可视化教学设计-2025-2026学年初中信息技术(信息科技)七年级下册甘教版
- 2026中国商用飞机公司招聘面试题库
- 4.1《致敬劳动者》课件 统编版道德与法治三年级下册
- GA 1149-2014细水雾灭火装置
- 水彩画水彩基础知识
- 融媒体新闻学课件
- 西安地产项目产品定位报告
- 杭州桐庐足球训练基地给排水工程监理细则
- DB13T 5448.11-2021 工业取水定额第11部分:食品行业
- 危大巡视检查记录表(深基坑)
- 材料调差自动计算表EXCEL
- 第五章---挤出成型
评论
0/150
提交评论