《面向对象编程》PPT课件.ppt

上传人:za****8 文档编号:12727088 上传时间:2020-05-20 格式:PPT 页数:20 大小:713.56KB
返回 下载 相关 举报
《面向对象编程》PPT课件.ppt_第1页
第1页 / 共20页
《面向对象编程》PPT课件.ppt_第2页
第2页 / 共20页
《面向对象编程》PPT课件.ppt_第3页
第3页 / 共20页
点击查看更多>>
资源描述
2006,1,Java程序设计基础专业教程理论讲解部分Ver3.1,2006,2,课程概述,抽象类和接口内部类,重点,抽象类和接口,难点,内部类,学习目标,掌握Java面向对象程序设计,2006,3,4.9抽象类和接口,4.9.1抽象类,一个类声明了方法的存在而不是实现,以及带有对已知行为的方法的实现。这样的类通常被称做抽象类(abstractclass)。通过用关键字abstract进行标记声明一个抽象类。,2006,4,4.9抽象类和接口,4.9.1抽象类,抽象方法的格式:,abstractclassShapeabstractfloatarea();,abstractreturnTypeabstractMethod(paramlist);,例如:,2006,5,4.9抽象类和接口,4.9.1抽象类,抽象类必须被继承,抽象方法必须被重写。,classRectangleextendsShapepublicfloatwidth,height;Rectangle(floatw,floath)width=w;height=h;publicfloatarea()returnwidth*height;,classCircleextendsShapepublicfloatr;Circle(floatr)this.r=r;publicfloatarea()return3.14*r*r;,2006,6,4.9抽象类和接口,4.9.2接口,接口是类似于类的一种结构。可以把接口看成是由常量和抽象方法组成的特殊类。(接口特别像纯粹的抽象类)接口是对C+的多重继承性的替代,即接口是用来实现类间多重继承功能的结构。Java语言规定:一个类只能继承一个父类。通过实现接口,某个类可以拥有多个父接口。,2006,7,4.9抽象类和接口,4.9.2接口,接口的定义格式:,publicinterfaceinterfaceNameextendslistOfSuperInterface,接口体包括常量定义和方法定义。,2006,8,4.9抽象类和接口,4.9.2接口,常量定义格式为:,typeNAME=value;,其自动具有public,final,static的属性,所以写成如下格式是一样的:,publicstaticfinaltypeNAME=value;,2006,9,4.9抽象类和接口,4.9.2接口,方法定义格式为:,returnTypemethodName(paramlist);,其自动具有public和abstract属性,所以写成如下格式也是一样的:,publicabstractreturnTypemethodName(paramlist);,2006,10,4.9抽象类和接口,4.9.2接口,定义接口的特点:,定义的方法没有方法体.它们本质上是抽象方法,每个实现接口的类必须实现所有的方法。接口中可以声明变量,它们是,publicfinal和static型。如果一个类实现了一个接口,但是不完全实现接口定义的方法,那么该类必须定义成abstract型。,2006,11,4.9抽象类和接口,4.9.2接口,定义接口的特点:,接口用于定义几个类具有的但又不是在这些类中定义的功能。接口定义的仅仅是实现某一特定功能的对外接口和规范,并没有真正地实现这个功能。接口中定义的各种功能的实现是在“继承”这个接口的各个类中完成的,即由这些类来具体定义接口中各抽象方法的方法体。,2006,12,4.10内部类,4.10.1内部类的定义和使用,内部类(InnerClass)是在一个类的内部嵌套定义的类。它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义。,内部类允许一个类定义被放到另一个类定义里。内部类是一个有用的特征,因为它们允许将逻辑上同属性的类组合到一起,并在另一个类中控制一个类的可视性。,2006,13,4.10内部类,4.10.1内部类的定义和使用,内部类有如下特性:,(1)一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称。名字不能与包含它的类名相同。(2)可以使用包含它的类的静态和实例成员变量,也可以使用它所在方法的局部变量。(3)可以定义为abstract。(4)可以声明为private或protected。(5)若被声明为static,就变成了顶层类,不能再使用局部变量。(6)若想在InnerClass中声明任何static成员,则该InnerClass必须声明为static。,2006,14,4.10内部类,4.10.2匿名内部类,匿名类是一种特殊的没有类名的内部类,它是在一个表达式内部包含一个完整的类定义。由于构造器必须同类名相同,而匿名类没有名字,所以匿名类不能有构造器。,2006,15,4.10内部类,4.10.2匿名内部类,匿名内部类的语法格式如下:,newSuperType(constructionparameters)methodsanddata,如果内部类实现的是接口,则语法格式为:,newInterfaceType()methodsanddata,2006,16,4.10内部类,4.10.2匿名内部类,内部类的语法确实比较混乱和难以理解,虽然带来代码量的减少,但确使代码的易读性大大降低。就总体而言,Java语法比C+语法有了巨大的提升,而匿名内部类却成为一个例外。内部类使用的取舍,主要取决于程序工程的需求。,2006,17,本课小结,抽象类和接口的概念和用法内部类的使用方法,2006,18,小测验,单选题1下列说法正确的是()A.抽象方法一定在抽象类中B.抽象方法一定在接口中C.抽象方法可以在抽象类中也可以在接口中D.抽象方法可以在任何类中出现多选题2下列说法正确的是()A.内部类是定义在同一个源文件中的2个类,他们相互称为内部类B.内部类是定义在一个类的内部的类C.内部类是定义在一个方法内部的类D.内部类是其他类无法访问的类,2006,19,小测验答案,单选题1下列说法正确的是(C)A.抽象方法一定在抽象类中B.抽象方法一定在接口中C.抽象方法可以在抽象类中也可以在接口中D.抽象方法可以在任何类中出现多选题2下列说法正确的是(BC)A.内部类是定义在同一个源文件中的2个类,他们相互称为内部类B.内部类是定义在一个类的内部的类C.内部类是定义在一个方法内部的类D.内部类是其他类无法访问的类,2006,20,课后作业,【作业1】创建一个Player抽象类,其中包含一个增加经验值的抽象方法。,【作业2】自定义一个内部类,熟悉内部类的特点,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!