8. Kompozycja // Books.java class Osoba { String imie, nazwisko; Osoba(String imie, String nazwisko) { this.imie = imie; this.nazwisko = nazwisko; } public String toString() { return "imie: " + imie + ", nazwisko: " + nazwisko; } } class Ksiazka { String tytuł; Osoba autor, redaktor, korektor; Ksiazka(String tytuł, Osoba autor) { this.tytuł = tytuł; this.autor = autor; } void zróbKorektę(String imię, String nazwisko) { korektor = new Osoba(imię, nazwisko); } public String toString() { return "tytuł:" + tytuł + "\n" + "autor: " + autor + "\n" + "redaktor: " + redaktor + "\n" + "korektor: " + korektor; } } public class Books { public static void main(String[] args) { Ksiazka k = new Ksiazka("Pan Tadeusz", new Osoba("Adam", "M")); k.zróbKorektę("J", "Słowacki"); System.out.println(k); } } Łączenie obiektów // Sieć.java class Monitor { int nr; Monitor(int nr){this.nr = nr;} void wyświetl(String text) { System.out.println("m" + nr + " > " + text); } } class PortIO { String bufor = null; void pisz(String text) { bufor = text; } String czytaj() { String wynik = bufor; bufor = null; return wynik; } } class Komputer { Monitor mon; PortIO io; Komputer(PortIO io, int nr) { this.io = io; mon = new Monitor(nr); } } void pisz(String text) { mon.wyświetl(text); } void wyślij(String text) { pisz("wysyłanie... "); io.pisz(text); pisz("wysłano... "); } void odbierz() { pisz("odbieranie..."); String text = io.czytaj(); pisz("odebrano: " + text); } public class Sieć { public static void main(String[] args) { Komputer k1, k2; PortIO io = new PortIO(); k1 = new Komputer(io, 1); k2 = new Komputer(io, 2); k1.pisz("test"); k2.pisz("test"); k1.wyślij("Ala ma kota"); k2.odbierz(); } }