Konstruktor in PHP

王林
Freigeben: 2024-08-29 12:42:06
Original
852 Leute haben es durchsucht

Der Konstruktor ist das PHP5 OOP-Konzept (Object Oriented Programming). Der Konstruktor ist mit den Klassen verknüpft, 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 etwas über Konstruktoren in PHP.

WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax

<?php
Class Classname {
//constructor
function __construct() {
//statements
}
}
?>
Nach dem Login kopieren

Im obigen Codeteil beginnt der Konstruktor mit einem doppelten Unterstrich __, gefolgt vom Schlüsselwort Konstrukt. Ein Konstruktor ohne __construct() oder falls der Name der Klasse geändert wird, dann 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.

Typen von Konstruktoren

Hier sind einige der Konstruktortypen mit der unten angegebenen Ausgabe

1) Vordefinierter Konstruktor

Um den vordefinierten Konstruktor zu verdeutlichen, schauen wir uns ein Beispiel unten an

Beispiel eines vordefinierten Konstruktors

Code:

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

Ausgabe:

Konstruktor in PHP

Im obigen Beispiel

Wir haben eine Klasse Person, die zwei Methoden hat, nämlich eine Person CanSpeak() Methode und die Konstruktormethode __construct(). Als nächstes haben wir die Klasse als Objekt $p instanziiert. Mit $p haben wir die normale Methode aufgerufen. Sobald das Objekt erstellt wird, wird die Konstruktormethode aufgerufen und die Anweisung innerhalb der Methode ausgeführt. Ebenso wird die CanSpeak()-Methode, die eine normale Methode und keine Konstruktormethode ist, unter Verwendung desselben Objekts $p und der Anweisung darin aufgerufen diese Methode wird ausgeführt. Da der oben definierte Konstruktor keine Argumente hat, nennen wir ihn außerdem einen Null-Argument-Konstruktor oder einen vordefinierten Konstruktor.

2) Parametrisierter Konstruktor

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

Beispiel eines parametrisierten Konstruktors

Code:

class Person {
private $first;
private $email;
private $mobile;
public function __construct($name, $email, $mobile) {
echo "Initialising the object...<br/>";
$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","[email protected]", "9187986786");
$john->showProfile();
Nach dem Login kopieren

Ausgabe:

Konstruktor in PHP

Wie funktioniert Constructor?

Werfen wir einen Blick auf den Basisklassenkonstruktor und die abgeleitete Klasse, die die Basisklasse mithilfe des Schlüsselworts „extends“ erweitert, das über einen eigenen Konstruktor zur Ausführung und den übergeordneten Konstruktor zur Ausführung verfügt. Bisher haben wir nur etwas über den in einer Klasse deklarierten Konstruktor gelernt. Lassen Sie uns hier etwas mehr Wissen zum Konstruktor hinzufügen. Im folgenden Beispiel verfügt die Basisklasse Person über einen Konstruktor. Dieser Konstruktor wird nun von der abgeleiteten Klasse oder der Unterklasse mithilfe des übergeordneten Schlüsselworts aufgerufen und kann somit auf den Konstruktor der Basisklasse Person zugreifen.

Der Ausgabefluss

Zuerst wird der Person-Konstruktor aufgerufen, dann wird der Customer-Konstruktor aufgerufen, der intern erneut den Person-Konstruktor aufruft, dann seinen eigenen Kundenkonstruktor 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"."<br>";
}
}
class Customer extends Person  {
function __construct() {
parent::__construct();
echo "In Customer constructor"."<br>";
}
}
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();
Nach dem Login kopieren

Ausgabe:

Konstruktor in PHP

Im folgenden Beispiel haben wir gezeigt, wie die Set-Methode und die Get-Methode funktionieren. Verwendung des Kapselungskonzepts in OOP. Zunächst 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. Daher ist die erste Ausgabe John Doe, der als nächstes ein Objekt der Klasse erstellt und die Methoden set_name und get_name aufgerufen hat, die die Ausgabe als Alice ausgeben.

Code:

<?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();
?>
Nach dem Login kopieren

Ausgabe:

Konstruktor in PHP

Der Zugriffsspezifizierer

Es gibt drei Zugriffsspezifizierer in PHP

  • Öffentlich
  • Geschützt
  • Privat

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

Protected: Members of the class declared as protected are accessible only within the base class and the derived class which extends the base class.

Private: Members of the class declared as private are accessible with the class that defines it.

Also, the variables declared are called data members or properties and the functions declared are called as data methods. In the below example we have Base Class declared as Person which has the following properties along with the access specifiers public name, protected email and private mobile. Now the class is instantiated with an object $p and these three properties which are accessed from the object. which outputs are an error, why because, the protected property says that protected are accessible only within the base class and the derived class which extends the base class?

Code:

<?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;
?>
Nach dem Login kopieren

Output:

Konstruktor in PHP

Conclusion

Hope this article finds you what you have been searching for. The article has different examples for you to learn. The more you put the examples in practice the easier it will become to grasp.

Das obige ist der detaillierte Inhalt vonKonstruktor in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!