- 1、本文档共96页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 11.4 本章小结 接口是面向对象方法中的一种重要机制,使用接口可以实现多继承的效果。 接口中的所有方法都是抽象的,这些抽象方法由实现这一接口的不同类来具体完成,这样可以最大限度地利用动态绑定,隐藏实现细节。 使用接口还可以在看起来不相干的类之间定义共同行为。 * * * * * * * * * * * * * * * * 11.2 Java集合框架 泛型及其应用 泛型接口的使用 由于List是接口,因此,不能使用new List()来创建实例,只能创建某个实现了此接口的类实例。例如,可以编写下面的代码使用List。 ListCustomer cList = new ArrayListCustomer(); * * * * * * * * * * * * * * * 11.2 Java集合框架 泛型及其应用 泛型接口的使用 在使用泛型需要注意的是,与父类子类的概念不同,例如,下面的代码是正确的: Customer aCustomer = new Customer(); Object aObject = aCustomer; * * * * * * * * * * * * * * * * 11.2 Java集合框架 泛型及其应用 泛型接口的使用 但如果编写下面的代码,直觉上似乎没有问题,一个Customer的List是一个Object的List,但不能通过编译。 ListCustomer cList = new ArrayListCustomer(); ListObject oList = cList; //导致编译错误 * * * * * * * * * * * * * * * * * 11.2 Java集合框架 泛型及其应用 泛型接口的使用 如果上面的代码能够通过编译,则意味着在cList中的元素类型可以不同,例如,我们就可以编写下面的代码: oList.add(new Object()); // 实际上访问的是cList String s = cList.get(0); //试图将Object对象赋给String类型的引用变量 试图将Object对象赋给String类型的引用变量,这显然是错误的。 * * * * * * * * * * * * * * * * * * 11.2 Java集合框架 泛型及其应用 通配符泛型 有些时候,我们既希望List中的元素为给定的类型,又希望其元素的类型为给定类型的子类,这时候就需要使用通配符泛型了。 通配符泛型用?表示,其中,“?”代表任意一种类型,被称为通配符。 * * * * * * * * * * * * * * * * * * * 11.2 Java集合框架 泛型及其应用 通配符示例 List接口中addAll方法的声明如下,表示其参数可以是E及其子类对象。 * * * * * * * * * * * * * * * * * * * * 11.2 Java集合框架 泛型及其应用 通配符示例 测试代码: 运行结果 [1, 3, 2, 3.14, 2.72] * 11.3 面向接口编程 面向接口编程的概念 在设计类和对象时,将业务实现细节都封装到了对象内部,从而使得业务服务调用者不用关心细节,而只需了解对象对外能提供哪些服务,以及之间如何协作。 通过类和接口不同的职责划分可以有效提升系统的扩展性,这也是面向接口编程的核心思想。 * 11.3 面向接口编程 面向接口编程的概念 接口是一组规则(约束)的集合,它约定了实现接口的类需要遵守的规则,并体现了实现类对外所能提供的服务。 接口能实现服务定义与服务实现的分离,通过接口来定义服务,这样外部访问者无需了解类的内部实现细节就可以使用服务了。 * 11.3 面向接口编程 面向接口编程的概念 接口是事物共同特征的抽象表示。 如动物与植物最大的区别在于可以自由移动,那么我们可以定义描述动物能移动这种特性的接口IMovable。 * 11.3 面向接口编程 面向接口编程的概念 接口的实现类 * 11.3 面向接口编程 面向接口编程的概念 接口的实现类 * 11.3 面向接口编程 面向接口编程的优点 方便协作编程:采用面向接口编程方式,分配给不同团队的模块就可以并行开发了,每个模块开发人员首先确保本模块运转正常,并通过接口的方式模拟调用其他模块的服务,确保代码编译正常,然后,等相关模块都完成后再集成起来联调,检测模块间的协作是否正常。 * 11.3 面向接口编程 面向接口编程的优点 提高系统的可扩展性 面向接口编程时,由于模块间相互访问是通过接口
文档评论(0)