package p11_klasy.podstawy_v5;

public class Przyklad1 {

	public static void main(String[] args) {
		Osoba a = new Osoba();
		Osoba b = new Osoba();
		
		System.out.println("Początkowe wartości pól:");
		System.out.println(a.imie + " " + a.nazwisko + " " + a.wiek);

		a.imie = "Ala";
		a.nazwisko = "Kowalska";
		a.wiek = 30;

		b.imie = "Basia";
		b.nazwisko = "Malinowska";
		b.wiek = 40;
		
		// Każdy obiekt posiada własne wartości pól.
		System.out.println("Ustawione wartości pól:");
		System.out.println("a: " + a.imie + " " + a.nazwisko + " " + a.wiek);
		System.out.println("b: " + b.imie + " " + b.nazwisko + " " + b.wiek);
		System.out.println();
		
		// wywołanie metody na obiekcie
		a.przedstawSie();
		b.przedstawSie();
		System.out.println();
		
		a.wiek++;
		a.przedstawSie();
		b.przedstawSie();
		
		if(a.pelnoletnia()) {
			System.out.println(a.imie + " jest pełnoletnia");
		} else {
			System.out.println("ALARM");
		}
		
		// Obiektów w Javie nie usuwa się w sposób jawny - robi to "garbage collector" gdy zauważa,
		// że do obiektu nie ma już dostępu (nie ma możliwości użycia)
		// Dzieje się to asynchronicznie, czyli nie wiemy kiedy dokładnie.
	}

}
