Java程序设计应用开发教程 课件 5.1 抽象类与接口_第1页
Java程序设计应用开发教程 课件 5.1 抽象类与接口_第2页
Java程序设计应用开发教程 课件 5.1 抽象类与接口_第3页
Java程序设计应用开发教程 课件 5.1 抽象类与接口_第4页
Java程序设计应用开发教程 课件 5.1 抽象类与接口_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单元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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论