[[oktatas:programozás:php:php oop|< PHP OOP]]
====== PHP OOP konstruktor ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2020, 2022
* [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== Osztály konstruktor =====
A konstruktor egy speciális metódus, amely egy objektum példányosítása
során automatikusan meghívódik, akkor is ha azt nem definiáltuk.
A PHP 5. verziótól támogatott. Ha definiáljuk a konstruktort, akkor
bemenő paramétereket is megadhatunk neki, amelyek a tulajdonságoknak
kezdőértékként szolgálhatnak.
A konstruktor szintaktikája:
void __construct ([ mixed $args [, $... ]] )
Egy osztályban egy kocsi tulajdonságait tároljuk,
rendszám, szín és ár. A konstruktor segítségével
kezdőértéket adunk a tulajdonságoknak.
rendszam = $rendszam;
$this->szin = $szin;
$this->ar = $ar;
}
}
?>
A következő példában egy metódust is deklarálunk, amellyel kiíratható
az objektum tulajdonságainak aktuális értéke.
rendszam = $rendszam;
$this->szin = $szin;
$this->ar = $ar;
}
public function mutatReszletek()
{
print "{$this->rendszam} | {$this->szin} | {$this->ar} Ft";
}
}
?>
===== Konstruktor neve =====
A konstruktor neve lehet az osztály neve is,
de névteres osztályokban nem működik az 5.3.3-tól:
nev = $nev;
}
}
===== Konstruktor névtérben =====
Osztály névtérben:
===== Destruktor =====
Destruktor szintaxisa:
void __destruct ( void )
name = "MyDestructableClass";
}
function __destruct()
{
print "Destroying " . $this->name . "\n";
}
}
$obj = new MyDestructableClass();
?>
===== Nemlétező konstruktor =====
nev = $nev;
}
}
class Dolgozo extends Szemely {
}
$mari = new Dolgozo("Ari Mária");
echo $mari->nev;
A Szemely osztály konstruktora kerül meghívásra.