`
李灵晖-raylee
  • 浏览: 135847 次
博客专栏
Group-logo
从头认识java
浏览量:0
文章分类
社区版块
存档分类
最新评论

从头认识java-7.6 适配设计模式究竟适配类?还是适配接口?

 
阅读更多

这一章节我们来讨论一下适配的问题?

说白了,就是可以使用任何对象调用某个方法,而这个对象只需要符合某种协议。

而这种协议的实现有两种方法:继承和接口,但是一般都是使用接口,因为他的代码复用性比继承强,而且继承本身还包含父类的很多实现,造成不必要的混淆。而且通过接口我们可以实现多重接口(类似多重继承)

下面是两组对比的代码:

package com.ray.ch07;

class father {
	private int id = 0;

	private void sleep() {
	}

	public int run(int speed) {
		return speed;
	}
}

public class Test extends father {
	@Override
	public int run(int speed) {
		// TODO Auto-generated method stub
		return super.run(speed);
	}
}

通过继承,一般都是像上面的代码,Test单继承father,test对象只能向上转型为father类,如果需要多重继承,可能继承的层级就会骤然增多。


我们再来看看接口方面:

package com.ray.ch07;

interface Son {
	void sleep();

	int run(int speed);
}

interface Mother {
	void eat();
}

public class Test implements Son, Mother {

	@Override
	public void eat() {
		// TODO Auto-generated method stub

	}

	@Override
	public void sleep() {
		// TODO Auto-generated method stub

	}

	@Override
	public int run(int speed) {
		// TODO Auto-generated method stub
		return 0;
	}

	public static void main(String[] args) {
		Mother mother = new Test();
		mother.eat();
		Son son = new Test();
		son.sleep();
		son.run(2);
	}
}

在上面的代码里面Test可以非常容易的向上转型为Son和Mother这两个类,从多态的角度出发,使用接口来适配代码的重用性大大的增加,而且代码更加灵活。


总结:这一章节主要讨论适配的实现中使用哪个,我们推荐使用接口,因为他带来更多的灵活性和代码的复用性。


这一章节就到这里,谢谢。

-----------------------------------

目录


分享到:
评论

相关推荐

    mchange-commons-java-0.2.11.zip

    在Java开发中,这样的库可以极大地提高开发效率,因为它封装了常见的功能,开发者可以直接使用,而无需从头编写代码。 描述中的 "mchange-commons-java-0.2.11.jar包" 是该库的主要组成部分,是一个Java归档(JAR)...

    eclipse-java-2021-12-R-win32-x86_64.zip

    Eclipse IDE for Java Developers 是一款广泛使用的集成开发环境(IDE),专为Java编程设计。它由Eclipse基金会维护,提供了一整套工具,用于编写、调试、测试和部署Java应用程序。2021-12-R 版本是Eclipse的一个...

    设计模式课程设计---使用5个以上不同的设计模式完成(java)

    在本设计模式课程设计中,我们重点探讨了五个核心的设计模式:原型模式、单例模式、抽象工厂模式、代理模式和建造者模式。这些模式在Java编程中具有广泛的应用,能够帮助开发者创建更加灵活、可扩展和易于维护的代码...

    aip-java-sdk-4.2.0

    2. **aip-java-sdk-4.2.0.jar**:这是核心的AIP Java SDK库文件,包含了所有用于与百度AI平台交互的类和方法。开发者需要引入这个jar文件到他们的Android项目中,才能使用SDK提供的功能。 3. **json-20160810.jar**...

    api-ntrip-java-client-master.zip_android_ntrip_ntrip java实现_ntr

    总的来说,这个项目提供了从头开始构建一个NTRIP客户端的机会,涵盖了Android应用开发的多个方面,包括网络通信、协议解析、用户界面设计以及错误处理。对于想要深入理解Android开发和NTRIP协议的开发者来说,这是一...

    【Java 设计模式-源码】Builder 模式:在 Java 中清晰构建自定义对象

    Java 中的 Builder 设计模式是一种基本的创建型模式,它允许逐步构建复杂的对象。它将复杂对象的构建与表示分离,使得相同的构建过程可以创建不同的表示。 三、Builder 模式的详细解释及实际示例 实际示例: Java 的...

    设计模式--java版.rar

    在Java开发中,设计模式主要分为三大类:创建型模式、结构型模式和行为型模式。创建型模式如单例(Singleton)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)和原型(Prototype)...

    关于java23种设计模式的有趣见解

    关于Java23种设计模式的有趣见解,是一个深入浅出探讨设计模式在实际场景中应用的例子集合。设计模式是软件工程中的重要概念,旨在解决软件开发中常见的问题,提高代码的复用性和可维护性。以下是对给定文件中提及的...

    china-pub版-设计模式

    还需要定义类的接口和继承层次,建立对象间的关系,确保设计既符合当前需求又具有足够的灵活性以适应未来的扩展。 #### 二、设计模式的本质 设计模式的本质在于提供经过验证的解决方案,这些解决方案已经被多次...

    Java中23种经典设计模式

    在Java中,有23种经典设计模式,这些模式可以分为三类:创建型模式、结构型模式和行为型模式。下面,将详细解说这些模式,并结合提供的部分内容进行知识点阐述。 ### 创建型模式 创建型模式主要关注对象创建的机制...

    aspose-words-java-23.6-jdk17.jar.zip

    Aspose.Words 是一个强大的文档处理库,专为Java开发者设计,用于创建、操作和转换各种文档格式。版本23.6是这个库的一个重要更新,它引入了对Java Development Kit (JDK) 17的支持。这意味着开发人员现在可以利用...

    二十三种设计模式【PDF版】

    和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的 Java 语言基础上跃进一步,更重要的是,GoF 的设计模式反复 向你强调一个宗旨:要让你的程序尽可能的可重用。 这其实在向一个极限挑战:软件需求变幻...

    java-Swing外观包

    Java Swing是Java GUI(图形用户界面)开发的一个重要组件,它是Java Foundation Classes (JFC)的一部分,用于构建桌面应用程序。Swing提供了丰富的组件库,允许开发者创建美观且功能丰富的交互式用户界面。在这个...

    手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip

    【标题】: "手把手 - 微服务 Windows 开发环境从头搭建 2022-09-05 直播录像 - 软件安装包-2.zip" 这个压缩包文件包含了搭建微服务开发环境所需的基础软件,包括JDK(Java Development Kit)和MySQL数据库。...

    设计模式迷你手册

    5. **加速开发过程**:设计模式提供了解决常见问题的标准模板,这使得开发者不必从头开始思考每一个解决方案。 ### 常见的设计模式分类 设计模式通常被分为三大类:创建型模式、结构型模式和行为型模式。 #### ...

    java-多文件上传dome

    在Java编程中,多文件上传是一项常见的功能,特别是在web应用中,用户可能需要上传多个文件,如图片、文档等。本示例"java-多文件上传dome"提供了一个工具包,可直接下载使用,方便开发者快速实现多文件上传功能。 ...

    Java---笔试题大全

    Java是一种广泛使用的面向对象的编程语言,其特点包括抽象、继承、封装和多态性。在Java笔试中,这些概念经常被考察。 1. **面向对象的特征**: - **抽象**:抽象是将复杂问题简化的过程,分为过程抽象(方法)和...

    _Java-集合容器-2.List及其实现类.ppt

    List接口是Java集合框架中的核心接口之一,它继承自Collection接口,并具有特定的特性:元素可以重复,保持元素的顺序,并允许对元素的位置进行精确控制。List接口有多个实现类,包括ArrayList、LinkedList、Vector...

Global site tag (gtag.js) - Google Analytics