适配器设计模式解决接口冲突

发布时间 2023-09-09 11:54:27作者: SimpleWord
title: 适配器设计模式解决接口冲突
index_img: https://tuchuangs.com/imgs/2023/08/04/f341f43b9362c8a1.png
tags:
  - Java SE
  - 接口
categories:
  - Java SE
hide: false
excerpt: 适配器设计模式解决接口冲突

问题描述

当一个接口中抽象方法过多,但是我只要使用其中一部分的时候,怎么办?

适配器模式

可以使用适配器设计模式,相当于转接口。

书写步骤:

  • 编写中间类XXXdapter,实现对应的接口对接口中的抽象方法进行空实现
  • 真正的实现类继承中间类,并重写需要用的方法()为了避免其他类创建适配器类的对象
  • 中间的适配器类abstract进行修饰(不需要创建对象)(没有抽象方法)
public interface Myself {
    public abstract void show1();

    public abstract void show2();

    public abstract void show3();

    public abstract void show4();

    public default void moth1() {
        System.out.println("我是默认方法1");
    }

    public default void moth2() {
        System.out.println("我是默认方法2");
    }
}
public abstract class MyAdapter implements Myself {
    @Override
    public void show1() {

    }

    @Override
    public void show2() {

    }

    @Override
    public void show3() {

    }

    @Override
    public void show4() {

    }
}
public class My extends MyAdapter {
    @Override
    public void show2() {
        System.out.println("适配器模式解决接口冲突");
    }

    public void show3() {
        System.out.println("适配器模式解决接口冲突");
    }
}
public class Test {
    public static void main(String[] args) {
        My my = new My();
        my.show2();
        my.show3();
        my.moth1();
        my.moth2();
    }
}

image-20230804220923578