package emps.v2_obiektowo;

import java.time.LocalDate;

public class Porownywanie {

	public static void main(String[] args) {
		Employee emp1 = new Employee(1, "Jan", "Kowalski", "kierowca", 4400, LocalDate.of(1990, 4, 5), "transport", "Jasna 14", "01-234", "Warszawa", "Polska");
		Employee emp2 = new Employee(1, "Jan", "Kowalski", "kierowca", 4400, LocalDate.of(1990, 4, 5), "transport", "Jasna 14", "01-234", "Warszawa", "Polska");
		Employee emp3 = new Employee(3, "Janina", "Kowalska", "kierowca", 4400, LocalDate.of(1990, 4, 5), "transport", "Jasna 14", "01-234", "Warszawa", "Polska");
		Employee emp4 = emp1;
		
		System.out.println(emp1);
		System.out.println(emp2);
		System.out.println(emp3);
		System.out.println();
		
		System.out.println("==");
		System.out.println(emp1 == emp1);
		System.out.println(emp1 == emp2);
		System.out.println(emp1 == emp3);
		System.out.println(emp1 == emp4);
		System.out.println();

		System.out.println("eq");
		System.out.println(emp1.equals(emp1));
		System.out.println(emp1.equals(emp2));
		System.out.println(emp1.equals(emp3));
		System.out.println(emp1.equals(emp4));
		
		// Domyślna implementacja equals, tak samo jak operacja ==, porównuje adresy obiektów.
		// Sprawdza, czy to jest TEN SAM obiekt (a nie TAKI SAM).
		// Aby equals sprawdzało czy obiekty zawierają te same dane, powinniśmy przedefiniować (Override)metodę equals w definicji klasy.
		
		
	}

}
