国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java裝飾器設計模式初探

Java裝飾器設計模式初探

2020-06-16 11:20Michaelwjw JAVA教程

這篇文章主要為大家詳細介紹了Java裝飾器設計模式,感興趣的小伙伴們可以參考一下

本篇隨筆主要介紹用Java實現簡單的裝飾器設計模式:

先來看一下裝飾器設計模式的類圖:

Java裝飾器設計模式初探

從圖中可以看到,我們可以裝飾Component接口的任何實現類,而這些實現類也包括了裝飾器本身,裝飾器本身也可以再被裝飾。

下面是用Java實現的簡單的裝飾器設計模式,提供的是從基本的加入咖啡入手,可以繼續加入牛奶,巧克力,糖的裝飾器系統。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
interface Component {
  void method();
}
class Coffee implements Component {
 
  @Override
  public void method() {
    // TODO Auto-generated method stub
    System.out.println("倒入咖啡");
  }
  
}
class Decorator implements Component {
  public Component comp;
  public Decorator(Component comp) {
    this.comp = comp;
  }
  @Override
  public void method() {
    // TODO Auto-generated method stub
    comp.method();
  }
  
}
class ConcreteDecorateA extends Decorator {
  public Component comp;
  public ConcreteDecorateA(Component comp) {
    super(comp);
    this.comp = comp;
  }
  public void method1() {
    System.out.println("倒入牛奶");
  }
  public void method2() {
    System.out.println("加入糖 ");
  }
  public void method() {
    super.method();
    method1();
    method2();
  }
}
class ConcreteDecorateB extends Decorator {
  public Component comp;
  public ConcreteDecorateB(Component comp) {
    super(comp);
    this.comp = comp;
  }
  public void method1() {
    System.out.println("加入巧克力");
  }
  public void method() {
    super.method();
    method1();
  }
}
public class TestDecoratePattern {
  public static void main(String[] args) {
    Component comp = new Coffee();
    comp.method();
    System.out.println("--------------------------------------------------");
    Component comp1 = new ConcreteDecorateA(comp);
    comp1.method();
    System.out.println("--------------------------------------------------");
    Component comp2 = new ConcreteDecorateB(comp1);
    comp2.method();
    System.out.println("--------------------------------------------------");
    Component comp3 = new ConcreteDecorateB(new ConcreteDecorateA(new Coffee()));
    comp3.method();
    System.out.println("--------------------------------------------------");
    Component comp4 = new ConcreteDecorateA(new ConcreteDecorateB(new Coffee()));
    comp4.method();
  }
}

運行結果:

Java裝飾器設計模式初探

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩视频 | 亚洲九九| 国产小视频自拍 | 国产一级片 | 日韩中文字幕一区二区 | 在线成人亚洲 | 久久精品国产99国产 | 欧美一级视频在线观看 | 视频国产一区 | 久久国产福利 | 国产精品美女久久久久久免费 | 亚洲成人播放 | 欧美一区二区在线观看 | 国产一区二区三区免费在线观看 | 久久女人 | 在线免费观看黄 | 狠狠操av | 国精品一区二区三区 | 久久久久国产精品 | av在线成人 | 一区二区在线看 | 精品久久久久久久久久久久久久久久久久久 | 精品国产99| 亚洲第一成人在线视频 | 欧洲精品在线观看 | 国产精品久久久 | 美日韩精品视频 | 国产精品久久久久久一区 | 依人九九宗合九九九 | 亚洲成人久久久久 | 国产一区二区三区不卡在线观看 | 中文一区 | 自拍偷拍第一页 | 中文字幕在线不卡 | 亚洲精品www久久久久久广东 | 97国产精品久久久 | 精品亚洲一区二区三区 | 91亚洲国产成人久久精品网站 | 国产欧美精品 | 国产精品二区三区 | 黄色在线观看网站 |