java之裝飾者模式 列印流 合併流

2021-08-20 10:29:10 字數 1299 閱讀 6909

裝飾者模式(高內聚 低耦合)

思想:將原有的功能進行提公升

裝飾者步驟

1.將被裝飾者當做類中乙個成員變數

2.在構造方法中進行成員變數的賦值

賦值後 就相當於可以拿到被裝飾者這個物件

有這個物件 就能呼叫該物件的方法

3.對方法進行公升級

public class demo01 

}//學習**的介面

inte***ce study

class student implements study }

//學生類

class lostudent implements study

public lostudent(student student)

//對學生方法進行公升級

@override

public void studycode()

}

測試linenumberread

private static void fun1() throws filenotfoundexception, ioexception 

lnr.close();

}

列印流(永遠不會丟擲io異常)

操作輸出目的(寫檔案 控制台列印)

printstream(位元組流)

構造方法:檔案 位元組輸出流 路徑

printwriter(字元流)

構造方法:檔案 位元組輸出流 路徑 字元輸出流

核心功能:原樣輸出到目的端

system.in是

bufferedinputstream物件

system.out是

printstream物件(列印流)

private static void fun1() throws filenotfoundexception
private static void fun2() throws ioexception
合併流

sequenceinputstream

作用:可以把多個檔案讀成乙個檔案(合併成乙個檔案)

檔案不侷限是文字

public class demo05 

//關閉資源(只關合併流就行)

sis.close();

fos.close();

}}

Java學習之裝飾者模式 列印流 合併流

裝飾者模式 將原有的功能進行提公升 裝飾者模式的書寫步驟 1.將被裝飾者 當做類中的乙個成員變數 2.在構造方法中 進行成員變數的賦值,賦值後,可以拿到被裝飾者的物件,可以呼叫被裝飾者的方法 3.對方法進行公升級 例 模擬實現linenumberreader class mylinenum publ...

java之裝飾者模式

作用 對物件的原有功能進行公升級 書寫步驟 1.明確被裝飾的物件 2.將被裝飾的物件 通過構造方法傳入裝飾類 裝飾類中 肯定有乙個成員變數 就是被裝飾的物件 3.擁有被裝飾的物件 相當於可以呼叫該物件中的所有方法 就可以對該方法進行公升級 在校學生 class student implements ...

java設計模式之裝飾者模式

裝飾者模式 動態的將責任附加到物件上。若要擴充套件功能,裝飾者提供了比繼承更有彈性的替代方案。類圖 barbecue類 實現 package com.decorator public abstract class barbecue public abstract double cost fish類 ...