Konstruktor in PHP - Wie funktioniert PHP Constructor?

Inhaltsverzeichnis:

Anonim

Einführung in Constructor in PHP

Der Konstruktor ist das PHP5-OOP-Konzept (Object Oriented Programming). Der Konstruktor ist den Klassen zugeordnet, die wir im Programm deklarieren. Der Konstruktor wird automatisch aufgerufen, wenn das Objekt der Klasse instanziiert wird. Daher lautet die Definition des Konstruktors wie folgt: „Ein Konstruktor ist eine spezielle Methode, die automatisch aufgerufen wird, wenn das Objekt der Klasse instanziiert wird.“ In diesem Thema lernen wir Konstruktoren in PHP kennen.

Syntax

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

Im obigen Codeteil beginnt der Konstruktor mit einem __ doppelten Unterstrich, gefolgt vom Schlüsselwort construct. Ein Konstruktor ohne __construct () oder falls der Name der Klasse geändert wird, ist die definierte Methode nur eine Methode und kein Konstruktor. Daher ist es wichtig, den Konstruktor in einer Klasse gemäß der definierten Syntax zu definieren.

Arten von Konstruktoren

Hier sind einige der Konstruktortypen mit den unten angegebenen Ausgaben

1) Vordefinierter Konstruktor

Sehen wir uns zur Verdeutlichung des vordefinierten Konstruktors ein unten angegebenes Beispiel an

Beispiel für einen vordefinierten Konstruktor

<_?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();
?>

Ausgabe:

Im obigen Beispiel

Wir haben eine Klasse Person, die zwei Methoden hat, wobei eine Person CanSpeak () -Methode und die Konstruktormethode __construct (). Als nächstes haben wir die Klasse als Objekt $ p instanziiert. Mit dem $ p haben wir die normale Methode aufgerufen. Sobald das Objekt erstellt wurde, wird die Konstruktormethode aufgerufen und die Anweisung in der Methode ausgeführt. Ebenso wird die CanSpeak () -Methode, die eine normale Methode und keine Konstruktormethode ist, mit demselben Objekt $ p und der Anweisung in der Methode aufgerufen Diese Methode wird ausgeführt. Da der oben definierte Konstruktor keine Argumente enthält, wird er auch als Nullargumentkonstruktor oder vordefinierter Konstruktor bezeichnet.

2) Parametrisierter Konstruktor

Ein Konstruktor kann mit oder ohne Argumente sein. Der Konstruktor mit Argumenten wird als parametrisierter Konstruktor und der Konstruktor ohne Argumente als Nullargumentkonstruktor bezeichnet. Schauen wir uns ein Beispiel an.

Beispiel eines parametrisierten Konstruktors

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();

Ausgabe:

Wie funktioniert der Konstruktor?

Werfen wir einen Blick auf den Basisklassenkonstruktor und die abgeleitete Klasse, die die Basisklasse mithilfe des Schlüsselworts extend erweitert, das einen eigenen Konstruktor und den übergeordneten Konstruktor zur Ausführung hat. Bisher haben wir nur den Konstruktor kennengelernt, der in einer Klasse deklariert wurde. Lassen Sie uns hier dem Konstruktor etwas mehr Wissen hinzufügen. Mit dem folgenden Beispiel verfügt die Basisklasse Person über einen Konstruktor. Dieser Konstruktor wird jetzt von der abgeleiteten Klasse oder der Unterklasse mithilfe des übergeordneten Schlüsselworts aufgerufen und kann somit auf den Konstruktor der Basisklasse Person zugreifen.

Der Ausgangsfluss -

Zuerst wird der Person-Konstruktor aufgerufen, dann der Customer-Konstruktor, der intern erneut den Person-Konstruktor und dann seinen eigenen Customer-Konstruktor aufruft, und zuletzt die Employee-Klasse, die die Person-Klasse erweitert, sodass der Person-Konstruktor erneut aufgerufen wird.

Code

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();

Ausgabe:

Im folgenden Beispiel haben wir gezeigt, wie die set-Methode und die get-Methode funktionieren. Verwenden des Kapselungskonzepts in OOP. Zu Beginn wird das Programm mit einem Konstruktor, einer set_name-Methode und einer get_name-Methode deklariert. Beachten Sie, dass der Konstruktor ein parametrisierter Konstruktor ist, der definitiv aufgerufen wird, wenn die Klasse instanziiert wird, und daher die erste Ausgabe ist. John Doe hat als nächstes ein Objekt der Klasse erstellt und die Methoden set_name und get_name aufgerufen, die die Ausgabe als Alice ausgeben.

<_?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();
?>

Ausgabe:

Der Access Specifier-

Es gibt drei Zugriffsspezifizierer in PHP

  • Öffentlichkeit
  • Geschützt
  • Privat

Öffentlich: Mitglieder der als öffentlich deklarierten Klasse sind überall zugänglich.

Geschützt: Auf Mitglieder der als geschützt deklarierten Klasse kann nur innerhalb der Basisklasse und der abgeleiteten Klasse zugegriffen werden, die die Basisklasse erweitert.

Privat: Auf Mitglieder der als privat deklarierten Klasse kann mit der Klasse zugegriffen werden, die sie definiert.

Außerdem werden die deklarierten Variablen als Datenelemente oder Eigenschaften und die deklarierten Funktionen als Datenmethoden bezeichnet. Im folgenden Beispiel wurde die Basisklasse als Person deklariert, die die folgenden Eigenschaften zusammen mit den Zugriffsspezifizierern öffentlicher Name, geschützte E-Mail und privates Mobiltelefon aufweist. Jetzt wird die Klasse mit einem Objekt $ p und diesen drei Eigenschaften instanziiert, auf die vom Objekt aus zugegriffen wird. Welche Ausgaben sind ein Fehler, warum, weil die Eigenschaft protected besagt, dass protected nur innerhalb der Basisklasse und der abgeleiteten Klasse, die die Basisklasse erweitert, zugänglich ist?

<_?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;
?>

Ausgabe:

Fazit

Hoffe, dieser Artikel findet Sie, wonach Sie gesucht haben. Der Artikel enthält verschiedene Beispiele zum Lernen. Je mehr Sie die Beispiele in die Praxis umsetzen, desto leichter wird es, sie zu erfassen.

Empfohlene Artikel

Dies ist eine Anleitung zum Konstruktor in PHP. Hier haben wir die Konstruktortypen und die Funktionsweise des Konstruktors in PHP besprochen. Sie können auch den folgenden Artikel lesen, um mehr zu erfahren -

  1. Was ist PHP?
  2. PHP-String-Funktionen
  3. Python-Sammlungen
  4. Layout in Java