欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (24)--7.1 接口面向对象程序设计.ppt

    • 资源ID:96638029       资源大小:446KB        全文页数:16页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (24)--7.1 接口面向对象程序设计.ppt

    让IT教学更简单,让IT学习更有效让IT教学更简单,让IT学习更有效第七章 接口接口多态让IT教学更简单,让IT学习更有效 目录7.17.1接口7.27.2多态多态让IT教学更简单,让IT学习更有效概述本质上本质上接口接口是一种设计模式,它和继承还有着是一种设计模式,它和继承还有着一定的区别,在开发中它的使用更加频繁。作一定的区别,在开发中它的使用更加频繁。作为本章的另外一个重要内容,类型的转换机制为本章的另外一个重要内容,类型的转换机制也是需要认真领会的。也是需要认真领会的。让IT教学更简单,让IT学习更有效 7.1 接口接口接口接口在在Java语言中就是一组没有具体实现的方法的集合。任语言中就是一组没有具体实现的方法的集合。任何一个类都可以实现一个或多个接口所定义的方法。通过何一个类都可以实现一个或多个接口所定义的方法。通过使用接口,可以将功能说明从实现中分离出来,从而向访使用接口,可以将功能说明从实现中分离出来,从而向访问者隐蔽了类或子系统的具体实现。问者隐蔽了类或子系统的具体实现。下面是声明接口的语法:下面是声明接口的语法:public interface InterfaceName extends SuperInterface1,常量声明;type methodName1();type methodName2();让IT教学更简单,让IT学习更有效public interface Comparable int compareTo(T o);public interface BankService/为一个账户提供取款服务,返回最后取款额int withdraw(Account account,int amount);/为一个账户提供取款服务,返回最后存款额int deposit(Account account,int amount);/根据账户id,查询账户余额int findBalance(String id);让IT教学更简单,让IT学习更有效7.1.1实现接口实现接口注意一个类可以实现多个接口。由于接口中的方法都是抽象的,因此,除非实现接口的类本身是抽象的,否则接口中定义的抽象方法在非抽象类中都必须以一一具体实现,那怕某些方法该类并不需要。可以使用实现的接口类型作为该类实例的类型。public class ClassName extends SuperClass implements Interfaces 让IT教学更简单,让IT学习更有效一个实现接口的类/程序7-4:一个实现了Comparable接口的Account类import java.util.Arrays;public class Account implements Comparable /compareTo方法覆盖了来自接口的方法 Override public int compareTo(Object o)int result=0;/这里忽略了o的类型不是Account的情况 Account t=(Account)o;/利用字符串对象自身的compareTo()方法作为账户大小的比较 return pareTo(t.getId();让IT教学更简单,让IT学习更有效一个接口,声明它的访问范围为public,意味着可以被任何类所实现,如果采用缺省方式,则只有和接口同在一个包内的类所实现。每个类只可以有一个超类,但是一个接口却可以有多个父接口(用逗号分割),当然也可以没有。一个接口内部可以包括多个常量,供实现接口的类使用,常量的类型默认总是public static final,因此无须再显式定义。由于是常量,所以需要在定义的时候直接进行初始化。接口中的方法不能包含具体实现代码,那怕是空方法体,因此,接口中的方法声明没有,而且方法的默认访问属性就是public abstract。让IT教学更简单,让IT学习更有效7.1.2 用接口定义变量用接口定义变量虽然不能创建接口的实例,但是可以用接口作为变量的类型声明。如果一个对象用接口来声明类型的话,那么,通过对象名只能看到该对象类实现的对应接口的所有方法,其它属于自身的成员变量和方法都不可能被访问。当一个变量的类型是接口类型时,其引用的对象类型只要是实现了这个接口的类的对象都是允许的List accounts=null;accounts=new ArrayList();accounts=new LinkedList();让IT教学更简单,让IT学习更有效7.1.3 抽象类和接口抽象类和接口 简单来看,抽象类和接口都可以允许定义子类必须实现的方法。但实际上两者在语义和用途上有着很大的差别。从语法规定来看它们的区别很明显。Java支持一个类只能继承一个超类,但支持一个类实现多个接口;另外,接口中的方法仅是抽象方法的声明,而抽象类中可以包含方法的具体实现;最重要的,抽象类本身是一类型系统中的超类,而接口仅是抽象方法的集合。因此抽象类更多的用在描述问题的类的层次结构中,而接口更多的用在描述系统(或组件)所提供的公共服务中。让IT教学更简单,让IT学习更有效课堂练习按照要求完成以下作业:第一个类是图形类(Shape),含有一个成员变量color(字符串类型),一个没有参数的构造方法,以及一个有一个字符串类型参数的构造方法来初始化颜色变量,还有一个返回颜色变量值的成员方法show,以及一个没有具体实现的方法getArea,返回值为double;第二个类是圆形类(Circle)继承了图形类,自己又含有一个变量半径r,有一个有两个参数的构造方法,来初始化颜色和半径,成员方法show返回值格式为”r:?,color:?”;第三个类是矩形类(Rectangle)继承了图形类,自己又含有两个double变量长a和宽b,有一个有三个参数的构造方法,来初始化颜色、长和宽,成员方法show返回格式为”width:?,height:?,color:?”;第四个类是测试类(TestShape),分别定义圆形类和矩形类的实例对象,并用show方法来测试自己的定义。让IT教学更简单,让IT学习更有效课堂练习如果有两个类A、B(注意不是接口,两个类之间没有关系),你想同时使用这两个类的功能,那么你会如何编写这个C类呢?让IT教学更简单,让IT学习更有效课堂练习public class A public void a1()public void a2()public class B public void b1()public void b2()public class C private A a=new A();private B b=new B();public void a1()a.b1();public void a2()a.b2();public void b1()b.b1();public void b2()b.b2();让IT教学更简单,让IT学习更有效课堂练习问题:程序运行后的输出是什么?如果学号相同,则两个Student对象认为是同一个学生(即equal方法返回true),则Student类如何修改class Student String sid;public Student(String sid)this.sid=sid;public static void main(String args)Object o1=(Object)new Student(“200701”);Object o2=new Student(“200701”);Object o3=new Object();boolean r=(o1.equals(o2)?true:false);System.out.println(o1.equals(o2)+r);r=(o1=o2?true:false);System.out.println(o1=o2+r);r=(o1=o3?true:false);System.out.println(o1=o3+r);r=(o1.equals(o3)?true:false);System.out.println(o1.equals(o3)+r);让IT教学更简单,让IT学习更有效课堂练习分析程序的运行结果class C1 static int j=0;public void method(int a)j+;class Test extends C1 public int method()return j+;public void result()method(j);System.out.println(j+method();public static void main(String args)new Test().result();让IT教学更简单,让IT学习更有效课堂练习下面程序编译运行的结果是什么interface Action int i=10;void doAction()System.out.println(“do anything!”)class Happy implements Action public static void main(String args)Happy h=new Happy();int j;j=Action.i;j=Happy.i;j=h.i;

    注意事项

    本文((24)--7.1 接口面向对象程序设计.ppt)为本站会员(奉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开