补充课件10171第4章接口.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
❖ 以工资支付系统为例。假设公司希望一个支 付程序能够进行多种财务操作,除了计算员 工的工资之外,还要计算 (如 零 件的账单 )的支付额。尽管员工和 毫无 关联,但对它们的操作都是计算某种支付额。 对于员工而言,支付 额是他的工资;对于 , 支付额是 它列出的零件所要支付的总额。 能不能在一个应用程序中 多态地计算像员工工 资和 这样差别巨大的东西呢? Java是 否 提供了让无关的类实现公共方法的 机制呢? Java的接口提供的正是这样的功能。 ❖ 接口定义事物之间的交互途径,并使之 。例 如,收音机上的控制钮就是收音机 元件与用户 之间的接口,控制钮使用户能够进行有限的操作(例 如调台、调节音量以及在AM和FM 间切换),不同 收音机可以用不同方式进行控制(例如按钮、旋钮或 语音控制)。接口必须说明收音机允许用户进行哪些 操作,但不指定如何实现这些操作。与之类似,手 动挡车辆与 之间的接 包括方向盘、变速杆、离 合器踏板、 踏板和刹车踏板。几乎所有的手 动挡车上都有同样的 口,这使会开一种手动挡车的 人能开差不多所有的手动挡车。尽管不同车上的部 件看起来可能不同 但它们的基本功能是一样的—— 使人驾驶车辆。 ❖ 软件对象也通过接口通信。Java 的接口描述了可被 对象调用的所有方法,例如,告诉对象完成某项任 务或返回一些信息。下面的例子导人名为Payable 的接口,描述能够被支付的对象的功能,它们必须 提供计算正确支付额的方法。接口 ( interface declaration) 以关键字interface开始,它只包含常数 和抽象方法。与类不同的是,所有的接口成员都必 须为public,并且接口不能说明任何实现细节,如 具体方法 和实例变量。这样,接口中 的所 有方法都隐含为public 方法,而所有的域都 隐含为public static final 。 ❖ 根据Java Language Specification (Java语言规范) , 接口方法时不带关键字public和 是正确 的风格,因为它们是多余的。类似地, 常量时 也不需要带关键字public和 static 以及final ,它们也 是多余的。 ❖ 为了使用接口,具体类必须说明它实现 ( implements)接口,并且必须用接口 中的签名 来 接口中定义的所有方法。如果一个类没有实 现接口的所有方法,那么它是个抽象类,必须 为 类型。实现接口就好像与编译器签定协议 我将 接口指定的所有方法,或者我将 类 为 。 ❖ 如果一个具体类implements某个接口.却没有实现该 接口的所有方法,在编译时将会产生语法错 误,提 示该类必须 为 。 ❖ 接口通常用于需要在异质(即不相关)的类之间共用 方法或常数的情况下。这使得能够对不相 关的类对 象进行多态处理,即实现相同接口的不同类对象可 以响应同样的方法调用。程序员可以创 建接口来描 述所需的功能,然后在需要该功能的类中实现这一 接口。例如,的支付程序中, 所有必须计算付款额 的类(例如Employee, )都实现接口Payable. ❖ 当没有需要继承的默认实现时,即没有域或默认方 法实现时,常常使用接口而不是

文档评论(0)

136****1820 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档