wykład 8

advertisement
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();
}
}
Download