java 桥模式(Bridge Pattern)详解_java

java 桥模式(Bridge Pattern)

Bridge模式解耦,其实施的定义。它是一种结构模式。本模式涉及充当桥的接口。这座桥使具体的类独立的接口实施者类。

 Bridge模式解耦,其实施的定义。它是一种结构模式。

本模式涉及充当桥的接口。这座桥使具体的类独立的接口实施者类。

这两种类型的类可以在不影响彼此被改变。

实例:

interface Printer {
  public void print(int radius, int x, int y);
}//from www.j a v a2 s . c om
class ColorPrinter implements Printer {
  @Override
  public void print(int radius, int x, int y) {
   System.out.println("Color: " + radius +", x: " +x+", "+ y +"]");
  }
}
class BlackPrinter implements Printer {
  @Override
  public void print(int radius, int x, int y) {
   System.out.println("Black: " + radius +", x: " +x+", "+ y +"]");
  }
}
abstract class Shape {
  protected Printer print;
  protected Shape(Printer p){
   this.print = p;
  }
  public abstract void draw();
}
class Circle extends Shape {
  private int x, y, radius;

  public Circle(int x, int y, int radius, Printer draw) {
   super(draw);
   this.x = x;
   this.y = y;
   this.radius = radius;
  }

  public void draw() {
   print.print(radius,x,y);
  }
}
public class Main {
  public static void main(String[] args) {
   Shape redCircle = new Circle(100,100, 10, new ColorPrinter());
   Shape blackCircle = new Circle(100,100, 10, new BlackPrinter());

   redCircle.draw();
   blackCircle.draw();
  }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, bridge
, pattern
, 桥模式
桥模式实例
bridge pattern、logback pattern 详解、android pattern详解、urlpattern 设置详解、lockpatternview详解,以便于您获取更多的相关知识。

时间: 2024-10-22 22:34:35

java 桥模式(Bridge Pattern)详解_java的相关文章

状态模式(state pattern) 详解

状态模式(state pattern): 允许对象在内部状态改变时改变它的行为, 对象看起来好像修改了它的类. 建立Context类, 包含多个具体状态(concrete state)类的组合, 根据状态的不同调用具体的方法, state.handle(), 包含set\get方法改变状态. 状态接口(state interface), 包含抽象方法handle(), 具体状态类(concrete state)继承(implement)状态类(state), 实现handle()方法; 具体方法

策略模式(Strategy Pattern) 详解

策略模式: 定义了算法族, 分别封装起来, 让它们之间可以相互替换, 此模式让算法的变化独立于使用算法的客户. 对于父类的子类族需要经常扩展新的功能, 为了使用父类比较灵活的添加子类, 把父类的行为写成接口(interface)的形式; 使用set()方法, 重新设定接口的行为. 提供行为的调用的方法(如perform), 需要调用接口(interface)的固有方法(fly & quack)即可. 代码: package strategy; public abstract class Duck

基于Java中字符串内存位置详解_java

前言 之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是后来问到new一个String出来应该是放到哪里的,这个应该是放到堆里面的,后来又问到String的引用是放在什么地方的,当时傻逼的说也是放在堆里面的,现在总结一下:基本类型的变量数据和对象的引用都是放在栈里面的,对象本身放在堆里面,

Java中Properties的使用详解_java

Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支 持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置.今天,我们就开始Properties的使用. Java中Properties的使用 Properties的文档说明: The Properties class represents a persistent set of propertie

Java静态方法不具有多态性详解_java

动态绑定机制使得基类的引用能够指向正确的子类对象,从而使得面向基类编程成为可能. 然而动态绑定在以下两种情况会失效. 1.基类方法是private或final修饰的 这个很好理解,因为private说明该方法对子类是不可见的,子类再写一个同名的方法并不是对父类方法进行复写(Override),而是重新生成一个新的方法,也就不存在多态的问题了.同理也可以解释final,因为方法同样是不可覆盖的. 2.方法是static修饰的 代码如下所示. class Base { public static v

Java 23种设计模型详解_java

设计模式(Design Patterns)                                   --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每

装饰者模式(Decorator Pattern) 详解

装饰者模式(Decorator Pattern):动态地将责任附加到对象上. 若要扩展功能, 装饰者提供了比继承更有弹性的替代方案. 使用方法: 1. 首先创建组件(Component)父类, 所有类,具体组件(Concrete Component)和装饰者(Decorator)都属于这一类型, 可以进行扩展; 可以是抽象类(abstract class), 也可以是接口(interface); 代码: /** * @time 2014年5月23日 */ package decorator; /

工厂模式(factory pattern) 详解

工厂方法模式: 定义了一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂方法让类把实例化推迟到子类. 包括: 创建者父类(creator), 包含创建对象的方法(代替new具体的对象, 通过参数创建不同的对象), 和一些基本的方法; 具体创建者(concrete creator), 继承创建者父类, 实现创建对象的方法, 不同参数可以创建不同的对象; 产品类父类(product), 包含产品的基本使用方法, 被创建者父类(creator)的基本方法使用; 具体产品(concrete

java 设计模型之单例模式详解_java

Singleton 模式的宗旨在于确保某个类只有一个实例,别且为之提供一个全局访问点.为了防止其他工作人员实例化我们的类, 可以为该类创建唯一一个构造器,并将构造器的可见设置为私有.值得注意的是,如果我们创建了其他的非私有的构造器,或者根本没有为该类提 供构造器,那么其他人员还是能实例化我们的类. 如果不希望提前创建单例对象,我们可以等到第一次使用该单例对象的时候在创建它,即 滞后初始化.滞后初始化单例对象有两个理由: 1.也许在静态初始化时间,你没有关于如何初始化单例对象的足够信息. 2.选择