Przejdź do treści głównej
INF.03Programowanie

Konstruktor i destruktor w programowaniu obiektowym

Specjalne metody klasy automatycznie wywoływane podczas tworzenia nowego obiektu (konstruktor) oraz podczas jego niszczenia i zwalniania pamięci (destruktor).

Konstruktor i destruktor w PHP i JavaScript:

  • Konstruktor: Służy do inicjalizacji pól obiektu w momencie jego powstawania za pomocą słowa kluczowego new.
  • Destruktor: Wykonywany automatycznie, gdy obiekt traci wszystkie referencje lub gdy skrypt kończy działanie (np. do zamykania połączeń z bazą lub plikami).
PHP
<?php
class BazaDanych {
    private $uchwyt;

    // Konstruktor:
    public function __construct() {
        echo "Otwieranie połączenia z bazą...<br>";
        $this->uchwyt = mysqli_connect('localhost', 'root', '', 'test');
    }

    // Destruktor:
    public function __destruct() {
        echo "Zamykanie połączenia z bazą...<br>";
        if ($this->uchwyt) {
            mysqli_close($this->uchwyt);
        }
    }
}

$db = new BazaDanych();
// Po zakończeniu skryptu automatycznie wykona się __destruct()

W JavaScript:

W klasach ES6 używamy słowa kluczowego constructor() { ... }.

Chcesz sprawdzić to pojęcie w praktyce?

Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Konstruktor i destruktor w programowaniu obiektowym lub rozpocznij trening.