Commit 56cc5383 by Patryk Czarnik

zaczynam v3

parent f994cd61
......@@ -32,13 +32,3 @@ public class Osoba {
}
}
package p10_klasy.v3;
public class Osoba {
String imie, nazwisko;
int wiek;
Osoba() {
}
Osoba(String imie, String nazwisko, int wiek) {
this.imie = imie;
this.nazwisko = nazwisko;
this.wiek = wiek;
}
void przedstawSie() {
System.out.println("Nazywam się " + imie + " " + nazwisko + " i mam " + wiek + " lat.");
}
public String toString() {
return imie + " " + nazwisko + " (" + wiek + " lat)";
}
}
package p10_klasy.v3;
public class TworzenieObiektow {
public static void main(String[] args) {
Osoba a = new Osoba();
// Gdy tworzymy obiekt za pomocą domyślnego konstruktora, to początkowo jest on niezainicjowany,
// tzn. w polach ma wpisane wartości null / 0 i może nam to przeszkadzać.
// Późniejsze wpisanie danych ma dwie wady:
// 1) zajmuje trochę miejsca w kodzie
a.imie = "Ala";
a.wiek = 30;
// 2) programista może łatwo przeoczyć jakieś pole i pozostawić obiekt nie w pełni zainicjowany
// W przypadku obiektów o znaczeniu technicznym (jak np. Scanner) taki brak inicjalizacji może do błędów
a.przedstawSie();
a.nazwisko = "Kowalska";
a.przedstawSie();
System.out.println();
// Aby mieć większą kontrolę nad procesem tworzenia obiektów, i by był on wygodniejszy,
// można w swojej klasie zdefiniować konstruktory.
Osoba b = new Osoba("Basia", "Malinowska", 40);
b.przedstawSie();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment