Úvod do konštruktora v PHP

Konštruktor je koncept PHP5 OOP (Object Oriented Programming). Konštruktor je spojený s triedami, ktoré deklarujeme v programe. Konštruktor sa volá automaticky, keď je objekt triedy inštancovaný, takže definícia konštruktora vyzerá takto: „Konštruktor je špeciálna metóda, ktorá sa volá automaticky, keď je objekt triedy inštancovaný“. V tejto téme sa dozvieme o konštruktoroch v PHP.

syntax

<_?php
Class Classname (
//constructor
function __construct() (
//statements
)
)
?>

Vo vyššie uvedenom kóde kódu konštruktor začína znakom __ dvojité podčiarknutie, za ktorým nasleduje konštrukcia kľúčového slova. Konštruktor bez __construct () alebo v prípade zmeny názvu triedy je definovaná metóda iba metóda a nie konštruktor. Preto je dôležité definovať konštruktora v triede podľa definovanej syntaxe.

Typy konštruktorov

Tu je niekoľko typov konštruktorov, ktorých výstup je uvedený nižšie

1) Preddefinovaný konštruktor

Na objasnenie vopred definovaného konštruktora sa pozrime na príklad uvedený nižšie

Príklad vopred definovaného konštruktora

<_?php
class Person (
function CanSpeak() (
echo " Not a constructor method " . '
';
)
function __construct() (
echo " In the constructor method " . '
';
)
)
//Object of class calling the constructor internally
$p = new Person();
// Object of class calling the normal method
$p->CanSpeak();
?>

Výkon:

Vo vyššie uvedenom príklade

Máme triedu Osoba, ktorá má dve metódy, kde metódu osoba CanSpeak () a metódu konstruktora __construct (). Ďalej sme inštanciu triedy vytvorili ako objekt $ p. Pomocou $ p sme nazvali normálnu metódu. Hneď ako sa objekt vytvorí, zavolá sa metóda konštruktora a vykoná sa príkaz vo vnútri metódy. Podobne sa ďalej volá metóda CanSpeak (), ktorá je normálnou metódou, a nie metóda konštruktora, použitím rovnakého objektu $ pa a vyhlásenia vnútri. táto metóda je vykonaná. Pretože vyššie definovaný konštruktor nemá žiadne argumenty, budeme ho nazývať konštruktorom s nulovým argumentom alebo preddefinovaným konštruktorom.

2) Parametrizovaný konštruktor

Konštruktor môže mať argumenty alebo bez nich. Konštruktor s argumentmi sa nazýva parametrizovaný konštruktor a konštruktor bez argumentov sa nazýva konštruktor s nulovými argumentmi. Pozrime sa na príklad.

Príklad parametrizovaného konštruktora

class Person (
private $first;
private $email;
private $mobile;
public function __construct($name, $email, $mobile) (
echo "Initialising the object…
";
$this->name = $name;
$this->email = $email;
$this->mobile = $mobile;
)
public function showProfile() (
echo "My name is: " . $this->name. " " . $this->email. " " . $this->mobile;
)
)
$john = new Person("John", " ", "9187986786");
$john->showProfile();

Výkon:

Ako funguje Constructor?

Pozrime sa na konštruktor základnej triedy a odvodenú triedu, ktorá rozširuje základnú triedu pomocou kľúčového slova rozširovania, ktoré má svoj vlastný konštruktor na vykonanie a rodičovský konštruktor na vykonávanie. Doteraz sme sa dozvedeli iba o konštruktorovi vyhlásenom v triede. Pridajme sem ďalšie konštruktéri. V nasledujúcom príklade má osoba základnej triedy konštruktor, teraz sa tento konštruktor nazýva odvodenou triedou alebo podtriedou pomocou rodičovského kľúčového slova, a tak má prístup k konštruktoru osoby základnej triedy.

Výstupný tok -

Najskôr sa zavolá konštruktor osoby, potom sa zavolá konštruktér zákazníka, ktorý interne volá opäť konštruktora osoby a potom vlastného konštruktora zákazníka a poslednú triedu Zamestnanec, ktorá rozširuje triedu Person, čím sa konštruktor osoby volá znova.

kód

class Person (
function __construct() (
echo "In Person constructor"."
";
)
)
class Customer extends Person (
function __construct() (
parent::__construct();
echo "In Customer constructor"."
";
)
)
class Employee extends Person (
// inherits Person's constructor
)
// In Person constructor
$p = new Person();
// In Person constructor
// In Customer constructor
$c = new Customer();
// In Employee constructor
$e = new Employee();

Výkon:

V nižšie uvedenom príklade sme ukázali, ako funguje metóda set a get. Použitie konceptu zapuzdrenia v OOP. Program sa spočiatku deklaruje pomocou konštruktora, metódy set_name a get_name. Všimnite si, že konštruktor je parametrizovaný konštruktor, ktorý sa určite volá, keď je inštancia triedy, a preto prvým výstupom je John Doe, ktorý následne vytvoril objekt triedy a nazval metódy set_name a get_name, ktoré tlačia výstup ako Alice.

<_?php
class Person (
public $name;
function __construct($name) (
echo $this->name = $name;
)
function set_name($name) (
$this->name = $name;
)
function get_name() (
echo $this->name;
)
)
// In Person constructor
$p = new Person('John Doe');
echo "\n";
$p->set_name('Alice');
$p->get_name();
?>

Výkon:

Špecifikátor prístupu-

V PHP sú tri špecifikátory prístupu

  • verejnosť
  • chránený
  • Súkromné

Verejné: Členovia triedy vyhlásení za verejní sú prístupní všade.

Chránené: Členovia triedy deklarovanej ako chránení sú prístupní iba v rámci základnej triedy a odvodenej triedy, ktorá rozširuje základnú triedu.

Súkromné: Členovia triedy vyhlásenej za súkromní sú prístupní s triedou, ktorá ju definuje.

Deklarované premenné sa nazývajú aj dátové členy alebo vlastnosti a deklarované funkcie sa nazývajú dátové metódy. V nasledujúcom príklade máme deklarovanú základnú triedu ako osobu, ktorá má nasledujúce vlastnosti spolu s verejným menom špecifikujúcim prístup, chráneným e-mailom a súkromným mobilným telefónom. Teraz je trieda vytvorená pomocou objektu $ p a týchto troch vlastností, ku ktorým je prístup z objektu. ktoré výstupy sú chybou, prečo preto chránené vlastníctvo hovorí, že chránené sú prístupné iba v rámci základnej triedy a odvodenej triedy, ktorá rozširuje základnú triedu?

<_?php
class Person (
public $name=;
protected $email;
private $mobile;
function __construct() (
print "In Person constructor";
)
)
// In Person constructor
$p = new Person();
echo $p->name;
echo $p->email;
echo $p->mobile;
?>

Výkon:

záver

Dúfam, že tento článok vás nájde tým, čo ste hľadali. Tento článok obsahuje rôzne príklady, ktoré sa môžete naučiť. Čím viac uvediete príklady do praxe, tým ľahšie pochopíte.

Odporúčané články

Toto je príručka pre program Constructor v PHP. Tu sme diskutovali o typoch konštruktorov a o tom, ako funguje konštruktor v PHP. Viac informácií nájdete aj v nasledujúcom článku -

  1. Čo je to PHP?
  2. Funkcie reťazca PHP
  3. Kolekcie Pythonu
  4. Rozloženie v Jave

Kategórie: