wykład 5
Transkrypt
wykład 5
class Osoba { private String imię, nazwisko; public Osoba(String imię, nazwisko) { this.imię = imię; this.nazwisko = nazwisko; } public String toString(){ return imię + " " + nazwisko; } } class Książka { private String tytuł; private Osoba autor, redaktor, korektor; public Książka(String tytuł, Osoba autor) { this.tytuł = tytuł; this.autor = autor; this.redaktor = new Osoba("Ala", "Makota"); } public void koryguj(String imię, String nazwisko) { korektor = new Osoba(imię, nazwisko); } public String toString(){ return "tytuł: " + tytuł + ", autor: " + autor + ", redaktor: " + redaktor + ", korektor: " + korektor; } } public class Books { public static void main(String [] args) { Osoba o = new Osoba("Adam", "Mickiewicz"); System.out.println(o); Książka k1 = new Książka("Pan Tadeusz", o); System.out.println(k1); Książka k2 = new Książka("Dziady III", o); k2.koryguj("Jan", "Kowalski"); System.out.println(k2); } } // Punkt.java package geometria; public class Punkt { double x,y; public Punkt(double x, double y) { this.x = x; this.y = y; } public void przesuń(double dx, double dy) { x += dx; y += dy; } public String toString(){ return "(" + x + ", " + y + ")"; } } ------------------------------------------------------------// Odcinek.java package geometria; public class Odcinek { Punkt p1, p2; public Odcinek(double x1, double y1, double x2, double y2) { p1 = new Punkt(x1, y1); p2 = new Punkt(x2, y2); } public Odcinek(Punkt p1, Punkt p2) { //this.p1 = p1; //this.p2 = p2; this.p1 = new Punkt(p1.x, p1.y); this.p2 = new Punkt(p2.x, p2.y); } public void przesuń(double dx, double dy) { // p1.x += dx; // p1.y += dy; // p2.x += dx; // p2.y += dy; p1.przesuń(dx, dy); p2.przesuń(dx, dy); } public String toString() { return "(" + p1 + ", " + p2 + ")"; } } ------------------------------------------------------------// Trójkąt.java package geometria; public class Trójkąt { Odcinek o1, o2, o3; public Trójkąt(Punkt p1, Punkt p2, Punkt p3) { o1 = new Odcinek(p1, p2); o2 = new Odcinek(p2, p3); o3 = new Odcinek(p3, p1); } public Trójkąt(Odcinek o1, Odcinek o2, Odcinek o3) { this.o1 = new Odcinek(...); this.o2 = new Odcinek(...); this.o3 = new Odcinek(...); } public void przesuń(double dx, double dy) { o1.przesuń(dx, dy); o2.przesuń(dx, dy); o3.przesuń(dx, dy); } public String toString() { return "(" + o1 + ", " + o2 + ", " + o3 + ")"; } } ------------------------------------------------------------// Rysunki.java import geometria.*; public class Rysunki { public static void main(String[] args) { Punkt p1 = new Punkt(0,1), p2 = new Punkt(1,0), p3 = new Punkt(0,0), p4 = new Punkt(1,1); System.out.println(p1); // (0, 1) System.out.println(p2); // (1, 0) Odcinek o1 = new Odcinek(0,0,1,1); Odcinek o2 = new Odcinek(p1, p2); System.out.println(o1); // ((0, 0), (1, 1)) System.out.println(o2); // ((0, 1), (1, 0)) o1.przesuń(1,0); Odcinek o3 = new Odcinek(p2, p4); Odcinek o4 = new Odcinek(p1, p4); Trójkąt t1 = new Trójkąt(p1, p2, p3); Trójkąt t2 = new Trójkąt(o2, o3, new Odcinek(0,1,1,1)); Trójkąt t1 = new Trójkąt(o2, ..., ...); } } ----------------------------------------------------------------// Figura.java package geometria; public class Figura { Punkt[] punkty; int ile; public Figura(int max) { punkty = new Punkty[max]; ile = 0; } public void dodaj(double x, double y) { punkty[ile++] = new Punkt(x, y); } //void przesuń... int rozmiar() { return ile; } Punkty punkt(int nr) { return punkty[nr]; } } public class Rysunki2 { public static void main(String[] args) { Figura fig = new Figura(100); fig.dodaj(0, 0); fig.dodaj(1, 0); fig.dodaj(1, 1); fig.punkt(0).przesuń(0,1); System.out.println(fig.punkt(1)); for(int i = 0; i < fig.rozmiar(); ++i) fig.punkt(i).przesuń(1,1); } } ----------------------------------------------------------------class Monitor { int nr; Monitor(int nr) { this.nr = nr; } void wyświetl(String txt) { System.out.println("M" + nr + " > " + txt); } } class PortIO { String bufor = null; void pisz(String txt) { bufor = txt; } String czytaj() { return bufor; } } class Komputer { Monitor mon; PortIO io; Komputer(int nr, PortIO io){ mon = new Monitor(nr); this.io = io; } void wyślij(String text) { mon.wyświetl("wysyłam..."); io.pisz(text); mon.wyświetl("...wysłałem"); } void odbierz() { mon.wyświetl("odbieram..."); String txt = io.czytaj(); mon.wyświetl("odebrałem: " + txt); } } public class Program { public static void main(String[] args) { PortIO io = new Port(); Komputer k1 = new Komputer(0, io), k2 = new Komputer(1, io); k1.wśllij("Ala ma kota"); k2.odbierz(); } } ------------------------------------------------------------- ------------------------------------------------------------class A { int x; static int y; A(int a, int b) { x = a; y = b; } } ... main (...) { A a1 = new A(1, 2); A a2 = new A(3, 4); System.out.println(a1.y); // 4 System.out.println(a2.y); // 4 } class Kolejne { static int MAX; int pamięć; Kolejne(int ziarno) { pamięć = ziarno; } int nextInt() { pamięć++; if(pamięć > MAX) pamięć = 0; return pamięć; } } ... main ... { Kolejne.MAX = 30; Kolejne k1 = new Kolejne(5); Kolejne k2 = new Kolejne(15); for(int i = 0; i < 100; ++i) System.out.println(k1.nextInt()); }