package com.javarush.test.level19.lesson03.task02; /* Адаптер Используйте класс AdapterFileOutputStream, чтобы адаптировать FileOutputStream к новому интерфейсу AmigoStringWriter */ import java.io.FileOutputStream; import java.io.IOException; /* для того, чтобы создать адаптер, нужно: 1. создать класс-адаптер, имплементирующий второй класс 2. создать в адаптере приватную ссылку 3. создать конструктор (с импортом ссылки первого класса), который будет ссылать нашу ссылку на первый класс 4. переназначить методы как на примере */ public class AdapterFileOutputStream implements AmigoStringWriter { private FileOutputStream fileOutputStream; //приватная ссылка public AdapterFileOutputStream(FileOutputStream fileOutputStream) { //конструктор с импортом this.fileOutputStream = fileOutputStream; //ссылка на импорт } public void flush() throws IOException { //переназначение метода this.fileOutputStream.flush(); //пример переназначения } public void writeString(String s) throws IOException { this.fileOutputStream.write(s.getBytes()); } public void close() throws IOException { this.fileOutputStream.close(); } }
package com.javarush.test.level19.lesson03.task02; import java.io.IOException; public interface AmigoStringWriter { public void flush() throws IOException; void writeString(String s) throws IOException; void close() throws IOException; }
Leave A Comment