namespace ObiektowaTeoria { // Definicja klasy Pracownik // Zobacz w pliku Program.cs:20 jak używać tej klasy public class Pracownik { public string Imie; public string Nazwisko; // Konstruktor klasy - metoda, która ma taką samą nazwę jak klasa // i jest wywoływana automatycznie w momencie tworzenia obiektu // (przy użyciu słowa kluczowego new). Jego zadaniem jest inicjalizacja // pól i właściwości obiektu, czyli nadanie mu początkowego stanu. // Jeżeli nie zdefiniujemy żadnego konstruktora, kompilator doda // konstruktor domyślny bez parametrów public Pracownik(string imie) { Imie = imie; Nazwisko = "bez nazwiska"; Console.WriteLine($"Konstruktor wywołany dla: {imie} bez nazwiska"); } // Można tworzyć wiele konstruktorów z różną listą parametrów (przeciążanie konstruktorów) public Pracownik(string imie, string nazwisko) { Imie = imie; Nazwisko = nazwisko; Console.WriteLine($"Konstruktor wywołany dla: {imie} {nazwisko}"); } // Destruktor klasy - metoda wywoływana podczas usuwania obiektu z pamięci przez mechanizm // zbierania śmieci (garbage collector). Umożliwia zwalnianie zasobów niezarządzanych (np. // uchwytów do plików, połączeń sieciowych). Destruktor jest wywoływany w sposób niejawny i // nie można jednoznacznie przewidzieć momentu jego wywołania. ~Pracownik() { Console.WriteLine($"Destruktor wywołany dla: {Imie} {Nazwisko}"); } } }