一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java 中設計模式(裝飾設計模式)的實例詳解

java 中設計模式(裝飾設計模式)的實例詳解

2021-01-07 13:51海那邊的小萌男 Java教程

這篇文章主要介紹了java 中設計模式(裝飾設計模式)的實例詳解的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下

java 中設計模式(裝飾設計模式)的實例詳解

應用場景

在不對原有對象類進行修改的基礎上,給一個或多個已有的類對象提供增強額外的功能.

我覺得可以從字面理解,裝飾,裝飾房子。房子可以看成原有的類。等于你把一個已經建好的房子按照自己的想法再裝飾一遍。繼承也可以實現這樣的功能,但是繼承有它的缺點,繼承只是單一繼承。裝飾設計模式可以取多個不同的類的不同功能。

具體步驟:

◎第1步:通過構造傳參把需要加強的類傳過來。(你要裝修房子,肯定的先有房子吧。這個很好理解)

◎第2步:把具體需要增強的功能寫了

具體例子及代碼

寫一個MyBufferedReader類,使它能夠對字符流(如FileReader、InputStreamReader和PipedReader等)進行功能增強:

(1) 提供帶緩沖的myRead()方法,對原有的read()方法進行增速;

(2)提供一個能夠每次讀取一行字符的myReadLine()方法。

?
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
import java.io.FileReader;
import java.io.IOException;
/**
 * * 版本2: 增強FileReader類,使它具有如下功能:
 * (1) 提供帶緩沖的myRead()方法,對原有的read()方法進行增速;
  (2)提供一個能夠每次讀取一行字符的myReadLine()方法。
 */
public class MyBufferedReader {
  private char[] cbuf= new char[1024];//緩存
  private int pos=0; //當前讀取的位置
  private int count=0;//記錄緩存中當前的字符總數
 
  //封裝一個FileReader對象,幫助我們實現從文件中讀取一批數據
  private FileReader r = null;
 
  public MyBufferedReader(FileReader r) {
    super();
    this.r = r;
  }
 
 
  /**
   * 從緩存中讀取一個字符數據返回
   * @throws IOException
   * @return所讀取的字符,如果到達文件末尾則返回-1
   */
  public int myRead() throws IOException{
    //從文件中把數據讀取到緩存buf[]中
    if(count<=0){
      //System.out.println("**********");
      count = r.read(cbuf);
      if(count==-1){
        return -1;
      }
      pos=0;
    }
 
    char ch = cbuf[pos];
    pos++;
    count--;
    return ch;
  }
 
 
  //回車字符: \r 13
  //換行字符: \n 10
 
  public String myReadLine() throws IOException{
    StringBuilder sb=new StringBuilder();
    int ch=0;
    //有回車換行符部分
    while( (ch=myRead())!=-1){
      if(ch=='\r'){
        continue;
      }
      if(ch=='\n'){
        return sb.toString();
      }
      sb.append((char)ch);
    }
 
    if(sb.length()!=0){//最后一行(沒有回車換行符)
      return sb.toString();
    }
 
    return null;//最后或空文件
  }
 
 
  public void close() throws IOException{
    r.close();
  }
}

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/weixin_37720904/article/details/60757545

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产大片网站 | 色综合天天综合网看在线影院 | 给我免费的视频在线观看 | 亚洲成人综合在线 | 日韩视频一区 | 国产拍拍 | 成人福利视频网址 | 日本xxxⅹ69xxxx护士 | 国产综合视频在线 | 国内在线观看 | 99久久久久久久 | 精品福利一区 | 久久热这里面只有精品 | 亚洲qvod图片区电影 | 好紧水好多 | 亚洲欧美日韩成人一区在线 | 青青青视频蜜桃一区二区 | 免费一级特黄特色大片∵黄 | 沉香如屑西瓜视频免费观看完整版 | 日韩一级欧美一级一级国产 | 亚洲一卡2卡4卡5卡6卡残暴在线 | 亚洲欧美日韩国产一区图片 | 亚洲AV永久无码精品老司机蜜桃 | 亚洲国产一区二区a毛片 | 欧美一级视频在线高清观看 | 男人女人插| 成人永久免费福利视频网站 | 欧美激情精品久久久久久不卡 | 日本高清在线观看天码888 | 毛片在线免费视频 | 亚洲精品九色在线网站 | 日韩欧美一区二区在线 | 亚洲一二三区视频 | 亚洲欧美激情日韩在线 | 亚洲国产剧情中文视频在线 | 成人网子 | 三级伦理在线播放 | 99精品热视频| 精品视频在线免费播放 | 天天操天天干天天做 | 成人永久免费福利视频网站 |