Was sind OOP-Klassenkonstanten in PHP?

Was Sind Oop Klassenkonstanten In Php



Ein Programmierparadigma, bekannt als Objektorientierte Programmierung (OOP) ermöglicht es Benutzern, modulare, wiederverwendbare Programme zu schreiben. Konstante Die Verwendung innerhalb einer Klasse ist eine der Funktionen von OOP. Klassenkonstanten in PHP sind Werte, die nach ihrer Angabe nicht mehr geändert werden können. Sie sind Mitglieder der Klasse und keiner bestimmten Klasseninstanz zugeordnet.

Was sind Klassenkonstanten in PHP?

Zunächst, Klassenkonstanten beziehen sich auf einen Wert, der im Verlauf eines Skripts konstant bleibt. In OOP ermöglicht es dem Programmierer, einen Wert zu definieren, der innerhalb der Klasse eine bestimmte Bedeutung hat und von keiner der Klassenmethoden aktualisiert werden kann. Der const Schlüsselwort wird zur Angabe verwendet Klassenkonstanten , die im Verlauf des Skripts einen konstanten Wert erhalten.







A Klassenkonstante ist ein innerhalb einer Klasse definierter Wert, der während der gesamten Ausführung des Programms konstant bleibt. Der Begriff const wird verwendet, um sie zu definieren, gefolgt vom Namen und Wert dieser Konstante. Einmal definiert, können sie zur Laufzeit nicht mehr geändert werden.



Zum Beispiel können wir a definieren Klassenkonstante für den Wert von Pi auf folgende Weise:



Klasse Mathe {
const PI = 3.14 ;
}


Hier haben wir die definiert Klassenkonstante PI für den Mathematikunterricht als 3.14. Da eine Konstante an die Klasse und nicht an eine Instanz einer Klasse gebunden ist, können wir wie folgt ohne Instanz darauf zugreifen:





Echo Math::PI;


Im Vergleich zu regulären Variablen Klassenkonstanten weisen einige bemerkenswerte Unterschiede auf. Erstens sind sie unveränderlich, das heißt, sie können nach ihrer Definition nicht mehr geändert werden. Zweitens, konstante Werte Im Gegensatz zu Variablen in PHP wird bei Variablen die Groß-/Kleinschreibung beachtet. Darüber hinaus werden Konstanten mit definiert const Schlüsselwort, während Variablen das Schlüsselwort verwenden War Schlüsselwort, was eine wichtige Unterscheidung darstellt.

Auf Klassenkonstanten zugreifen

Zugriff Klassenkonstanten kann auf zwei Arten erfolgen.



1: Scope-Auflösung verwenden (::)

Erstens, die Klassenkonstanten auf die zugegriffen werden kann Bereichsauflösung (::) Operator, wie in:

Klassenname::CONSTANT_NAME


Schauen Sie sich ein Beispiel an:

< ?php
Klasse Person {
const Name = „Larry“ ;
const Alter = 32 ;
const Nationalität = 'Amerikanisch' ;
}
Echo Name der Person, ' \N ' ;
Echo Persönlichkeit, ' \N ' ;
Echo Person::Nationalität;
? >


Im obigen Code ist die Person Die Klasse gibt drei Namen, Alter und Nationalität an Konstanten . Für jede Konstante ist ein String- oder Ganzzahlwert definiert.

Der :: Der Operator wird in Verbindung mit dem Namen der Konstante verwendet, um auf den Wert einer Klassenkonstante zuzugreifen. Wir verwenden zum Beispiel die Syntax Name der Person um den Wert abzurufen Name Konstante.

Abschließend drucken wir die Werte der Konstanten „Name“, „Alter“ und „Nationalität“ mit dem Befehl „echo“ auf dem Bildschirm aus.

2: Verwendung des Schlüsselworts „self“.

Alternativ können wir auch auf die zugreifen Klassenkonstanten innerhalb der Klasse selbst mithilfe der „Selbst“. Schlüsselwort, gefolgt vom unten angegebenen Konstantennamen:

self::CONSTANT_NAME


Sehen Sie sich ein Beispiel für den Zugriff auf eine Konstante mithilfe von an selbst Stichwort.

< ?php
Klassenkreis {
const PI = 3.14159 ;
Privatgelände $radius ;
öffentlich Funktion __bauen ( $radius ) {
$dies - > Radius = $radius ;
}
öffentlich Funktion Bereich ( ) {
zurückkehren self::PI * $dies - > Radius * $dies - > Radius;
}
}
$Kreis = neuer Kreis ( 16 ) ;
Echo $Kreis - > Bereich ( ) ;
? >


In diesem Beispiel oben gibt eine Klasse namens Circle eine private Eigenschaft namens $radius und eine Konstante namens PI an. Die von der verwendeten Formel getArea() Funktion zum Ermitteln der Fläche eines Kreises ist PI * Radius * Radius , wobei PI der Wert der PI-Konstante und Radius der Wert des Parameters $radius ist.

Innerhalb der getArea() Methode nutzen wir die selbst Schlüsselwort gefolgt vom Namen der Konstante, um den Wert der PI-Konstante zu erhalten: self::PI .


Bei der Definition sind einige Überlegungen zu beachten Klassenkonstanten . Stellen Sie zunächst sicher, dass der Name der Klassenkonstante innerhalb der Klasse eindeutig ist. Zweitens sollte es denselben Namenskonventionen wie Klassennamen folgen, d. h. der Verwendung von Camel Case für Konstanten. Schließlich empfiehlt es sich, nur Skalarwerte wie Ganzzahlen und Zeichenfolgen als zu definieren Klassenkonstanten .

Vererbung von Klassenkonstanten

Ein weiteres wichtiges Merkmal von Klassenkonstanten ist, dass sie von untergeordneten Klassen geerbt werden können. Im Wesentlichen kann eine Unterklasse mithilfe von auf die von ihrer übergeordneten Klasse definierten konstanten Werte zugreifen Elternteil Stichwort. Zum Beispiel:

< ?php
Klasse Tier {
const ANIMAL_TYPE = 'Säugetier' ;
}
Klasse Dog erweitert Animal {
öffentlich Funktion getType ( ) {
Echo „Hund ist ein“ , parent::ANIMAL_TYPE;
}
}
$Hund = neuer Hund ( ) ;
$Hund - > getType ( ) ;
? >


In dieser Abbildung hat die Klasse Animal eine Konstante mit dem Wert „ Säugetier ' genannt ANIMAL_TYPE . Der Hund ist eine Unterklasse, die von der Animal-Klasse abgeleitet ist.

Die öffentliche Funktion getType() der Dog-Klasse gibt einfach den Wert von aus A NIMAL_TYPE Konstante durch Zugriff auf die Konstante der übergeordneten Klasse mithilfe von parent::keyword .

Schließlich erstellen wir ein Dog-Klassenobjekt und verwenden das getType() Funktion, die den Wert der geerbten Konstante der Animal-Klasse zurückgibt ANIMAL_TYPE .

Abschluss

Die Verwendung von Klassenkonstanten ist eine Schlüsselkomponente der objektorientierten Programmierung in PHP und anderen Programmiersprachen . Durch die Nutzung Klassenkonstanten können wir fest codierte Werte im Programm vermeiden, die beim Aktualisieren des Codes mühsam sein können. Es ist wichtig, die Namenskonventionen einzuhalten und bei der Definition der Klassenkonstanten im Programm die Zugänglichkeit zu berücksichtigen.