0
点赞
收藏
分享

微信扫一扫

抖音视频如何下载保存(方法分享)

目录

🧂1.桥接模式

🌭2.优缺点 

🥓3.关键角色

🍿4.使用场景 

🥞5.实例解析


1.桥接模式

2.优缺点 

3.关键角色

4.使用场景 

5.实例解析

我们需要构建一个手机类,我们知道手机有很多品牌,苹果、华为等,从另外一个颜色维度,又有多种颜色,红、黄、蓝等~

  • 1.创建抽象类-手机

使用abstract创建抽象类

/**
* 抽象类
*/

public abstract class Phone {


/**
* 通过组合的方式,来桥接其他行为
*/

protected Color color;

/**
* 手机的方法
*/

abstract public void run();

public void setColor(Color color) {
this.color = color;
}
}
  • 2.创建颜色接口
/**
* 抽象接口
*/

public interface Color {

void userColor();
}
  • 3.实现颜色接口的具体实现类

/**
* 扩展抽象-具体的抽象实现类
*/

public class BlueColor implements Color{
@Override
public void userColor() {
System.out.println("蓝色~");
}
}


/**
* 扩展抽象-具体的抽象实现类
*/

public class RedColor implements Color {
@Override
public void userColor() {
System.out.println("红色~");
}
}


/**
* 扩展抽象-具体的抽象实现类
*/

public class YellowColor implements Color {
@Override
public void userColor() {
System.out.println("黄色~");
}
}
  • 4.创建继承抽象类的具体类

通过构造器的方式,实现组合

/**
* 具体的实现类
*/

public class ApplePhone extends Phone {

/**
* 组合颜色
* @param color
*/

public ApplePhone(Color color) {
super.setColor(color);
}

@Override
public void run() {
color.userColor();
System.out.println("苹果手机");
}
}

/**
* 具体的实现类
*/

public class HWPhone extends Phone {

/**
* 组合颜色
*
* @param color
*/

public HWPhone(Color color) {
super.setColor(color);
}


@Override
public void run() {
color.userColor();
System.out.println("华为");
}
}
  • 5.测试 
public class Main {

public static void main(String[] args) {
HWPhone hwPhone = new HWPhone(new BlueColor());
hwPhone.run();

System.out.println("===============================");

ApplePhone applePhone = new ApplePhone(new RedColor());
applePhone.run();
}
}

举报

相关推荐

0 条评论