Wykład 06. Tworzenie i usuwanie obiektów, czas życia obiektów

Transkrypt

Wykład 06. Tworzenie i usuwanie obiektów, czas życia obiektów
Wykład 06. Tworzenie i usuwanie obiektów, czas życia obiektów.
Przeciążanie konstruktorów i metod.
class Skarbonka {
double kwota;
int wpłaty, wypłaty;
Skarbonka() {
kwota = 0.0;
wpłaty = wypłaty = 0;
}
void wpłać(double k) {
kwota += k;
wpłaty++;
}
void wypłać(double k) {
kwota -= k;
wypłaty++;
}
public String toString() {
return
"skarbonka: suma=" + kwota +
", wpłaty=" + wpłaty +
", wypłaty=" + wypłaty;
}
protected void finalize() {
System.out.println("skarbonka przestaje istnieć");
}
}
Skarbonka sk = new Skarbonka();
sk.wpłać(10);
sk.wypłać(5);
System.out.println(sk);
sk = null;
System.gc();
1/2
przeciążanie, this, komunikacja między obiektami:
class Ułamek {
int licznik, mianownik;
Ułamek(int licznik, int mianownik) {
this.licznik = licznik;
this.mianownik = mianownik;
}
Ułamek(int liczba) {
this(liczba, 1);
}
Ułamek() {
this(0);
}
void dodaj(Ułamek u) {
licznik = licznik * u.mianownik + mianownik * u.licznik;
mianownik = mianownik * u.mianownik;
}
Ułamek plus(Ułamek u) {
Ułamek wynik = new Ułamek(licznik, mianownik);
wynik.dodaj(u);
return wynik;
}
public String toString() {
return licznik + "/" + mianownik;
}
}
Ułamek u1 = new Ułamek(2,3);
Ułamek u2 = new Ułamek(1,2);
System.out.println(u1);
System.out.println(u2);
u1.dodaj(u2);
System.out.println(u1);
Ułamek u3 = u1.plus(u2);
System.out.println(u3);
2/2

Podobne dokumenty