PHP-Instanz, was bedeutet das?
php „instanceof“ ist ein Schlüsselwort in PHP. Mit dem Schlüsselwort „instanceof“ können Sie feststellen, ob ein Objekt eine Instanz einer Klasse oder eine Unterklasse einer Klasse ist oder eine bestimmte Schnittstelle implementiert, und entsprechende Operationen ausführen.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 5.6, Dell G3-Computer.
Eine weitere neue Ergänzung zu PHP5 ist das Schlüsselwort instdnceof. Verwenden Sie dieses Schlüsselwort, um zu bestimmen, ob ein Objekt eine Instanz einer Klasse oder eine Unterklasse einer Klasse ist oder eine bestimmte Schnittstelle implementiert, und entsprechende Vorgänge auszuführen. In manchen Fällen möchten wir feststellen, ob eine Klasse von einem bestimmten Typ ist oder eine bestimmte Schnittstelle implementiert. Der Instanzoperator ist für diese Aufgabe sehr gut geeignet. Der Operator „instanceof“ prüft drei Dinge: ob die Instanz von einem bestimmten Typ ist, ob die Instanz von einem bestimmten Typ erbt und ob die Instanz oder eine ihrer Vorgängerklassen eine bestimmte Schnittstelle implementiert. Angenommen, Sie möchten wissen, ob ein Objekt mit dem Namen manager eine Instanz der Klasse Employee ist:
$manager = new Employee(); … if ($manager instanceof Employee) echo "Yes";
Da gibt es zwei Punkte, die es zu beachten gilt. Erstens enthält der Klassenname keine Trennzeichen (Anführungszeichen). Die Verwendung von Trennzeichen führt zu einem Syntaxfehler. Zweitens: Wenn der Vergleich fehlschlägt, beendet das Skript die Ausführung. Das Schlüsselwort „instanceof“ ist besonders nützlich, wenn Sie mit mehreren Objekten gleichzeitig arbeiten. Beispielsweise könnten Sie eine Funktion wiederholt aufrufen, möchten aber das Verhalten der Funktion basierend auf dem Objekttyp anpassen. Sie können case-Anweisungen und das Schlüsselwort „instanceof“ verwenden, um dieses Ziel zu erreichen.
class test{} class test{} class testChilern Extends test{} $a = new test(); $m = new test(); $i = ($m instanceof test); if($i) echo '$m是类test的实例!<br />'; // get this value switch ($a instanceof test){ case true : echo 'YES<br />'; break; case false : echo 'No<br />'; //get this value break; } $d=new testChilern(); if($d instanceof test)echo '$d是类test的子类!<br />'; // get this value
Was ist die Funktion von „instanceof“ in PHP?
Funktion: (1) Bestimmen, ob ein Objekt eine Instanz einer bestimmten Klasse ist, (2) Bestimmen, ob ein Objekt eine bestimmte Schnittstelle implementiert.
Erste Verwendung:
<?php $obj = new A(); if ($obj instanceof A) { echo 'A'; }
Zweite Verwendung:
<?php interface ExampleInterface { public function interfaceMethod(); } class ExampleClass implements ExampleInterface { public function interfaceMethod() { return 'Hello World!'; } } $exampleInstance = new ExampleClass(); if($exampleInstance instanceof ExampleInterface){ echo 'Yes, it is'; }else{ echo 'No, it is not'; } ?>
Ausgabeergebnis: Ja, das ist
Achten Sie außerdem auf den Unterschied zwischen Instanz von und is_subclass_of (), siehe Code:
<?php class Foo { public $foobar = 'Foo'; public function test() { echo $this->foobar . "\n"; } } class Bar extends Foo { public $foobar = 'Bar'; } $a = new Foo(); $b = new Bar(); echo "use of test() method\n"; $a->test(); $b->test(); echo "instanceof Foo\n"; var_dump($a instanceof Foo); // TRUE var_dump($b instanceof Foo); // TRUE echo "instanceof Bar\n"; var_dump($a instanceof Bar); // FALSE var_dump($b instanceof Bar); // TRUE echo "subclass of Foo\n"; var_dump(is_subclass_of($a, 'Foo')); // FALSE var_dump(is_subclass_of($b, 'Foo')); // TRUE echo "subclass of Bar\n"; var_dump(is_subclass_of($a, 'Bar')); // FALSE var_dump(is_subclass_of($b, 'Bar')); // FALSE ?>
Ausgabeergebnis (PHP 5.4.4):
use of test() method Foo Bar instanceof Foo bool(true) bool(true) instanceof Bar bool(false) bool(true) subclass of Foo bool(false) bool(true) subclass of Bar bool(false)
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonPHP-Instanz, was bedeutet das?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Die Funktion von „instanceof“ besteht darin, zu bestimmen, ob ein Objekt eine Instanz einer bestimmten Klasse ist oder ob es eine Schnittstelle implementiert. Instanz von ist ein Operator, mit dem überprüft wird, ob ein Objekt von einem bestimmten Typ ist. Verwendungsszenarien des Instanzoperators: 1. Typprüfung: Kann verwendet werden, um den spezifischen Typ eines Objekts zu bestimmen, um je nach Typ unterschiedliche Logik auszuführen. 2. Schnittstellenbeurteilung: Kann verwendet werden, um festzustellen, ob ein Objekt eine Schnittstelle implementiert , um zu bestimmen, ob ein Objekt eine Schnittstelle implementiert. 3. Abwärtstransformation usw.

Konzept 1. Dieser Operator wird verwendet, um Objekte zu bearbeiten und zu prüfen, ob das Objekt von einem bestimmten Typ ist (Typ oder Schnittstellentyp). Format 2. Wenn das Objekt, auf das die Variable auf der linken Seite des Rechners zeigt, ein Objekt der Klasse oder Schnittstelle auf der rechten Seite des Operators ist, ist das Ergebnis wahr. (Objectreferencevariable)instanceof(class/interfacetype) Instanzpaketcom.verify_instanceof;publicclassTestInstanceOf{publicstaticvoidmain(String[]args){//Die folgenden vier Codezeilen werden zum Beweisen verwendet: Instanzvon

In Java ist „Instanz von“ ein binärer Operator, mit dem überprüft wird, ob ein Objekt eine Instanz einer Klasse oder eine Instanz einer Unterklasse einer Klasse ist. Seine Syntax lautet „Objektinstanz der Klasse“, wobei „Objekt“ ein Objekt ist. Anführungszeichen: „Klasse“ ist eine Klasse Name oder Schnittstellenname.

Instanceof ist ein Operator in JavaScript, der verwendet wird, um zu erkennen, ob das „Prototyp“-Attribut des Konstruktors irgendwo in der Prototypenkette des Objekts vorkommt. Die Syntax lautet „Objektinstanz des Konstruktors“, wobei „Objekt“ das zu erkennende Objekt und „Konstruktor“ das ist Zu erkennendes Objekt.

Die Gründe für die Nichtverwendung von „instanceof“ sind: 1. Die von Ihnen verwendete Programmiersprache unterstützt möglicherweise nicht den „instanceof“-Operator. 2. Sie sind der Meinung, dass die Verwendung anderer Methoden die Anforderungen besser erfüllen kann effektiver oder für Ihre Bedürfnisse besser geeignet sein; 3. Sie sind nicht mit der Verwendung des Operators „instanceof“ vertraut oder unsicher über sein Verhalten.

Der Grund dafür ist: Mit dem Operator „instanceof“ wird überprüft, ob ein Objekt eine Instanz einer bestimmten Klasse (oder ihrer abgeleiteten Klasse) ist. Wenn das Objekt keine Instanz einer Klasse ist, kann keine Typbestimmung durchgeführt werden und es wird ein Fehler ausgegeben. Um diesen Fehler zu vermeiden, müssen Sie bei Verwendung des Instanzoperators sicherstellen, dass das Objekt eine Instanz einer Klasse ist. Wenn Sie sich über den Typ eines Objekts nicht sicher sind, können Sie andere Methoden verwenden, um den Typ zu bestimmen.

Wenn Sie den Operator „instanceof“ zum Überprüfen des Typs eines Objekts verwenden und das Ergebnis „true“ ist, bedeutet dies, dass das Objekt eine Instanz des angegebenen Typs ist. Der Compiler konvertiert das Objekt jedoch nicht automatisch in den angegebenen Typ, sodass eine Umwandlung erforderlich ist. Beim Casting handelt es sich um die Konvertierung eines Objekts von einem Typ in einen anderen. Wenn Sie nach Verwendung des Operators „instanceof“ feststellen, dass es sich bei dem Objekt um eine Instanz des angegebenen Typs handelt und Sie mit diesem Typ arbeiten möchten, müssen Sie eine Konvertierung des Umwandlungstyps durchführen.

Dieser Operator wird nur für Objektreferenzvariablen verwendet. Dieser Operator prüft, ob ein Objekt zu einem bestimmten Typ (Klassentyp oder Schnittstellentyp) gehört. Der Instanzoperator wird als -(Objektreferenzvariable)instanzvon(Klasse/Schnittstellentyp) geschrieben. Wenn das Objekt, auf das durch die Variable auf der linken Seite des Operators verwiesen wird, die IS-A-Prüfung des Klassen-/Schnittstellentyps auf der rechten Seite besteht, wird das Ergebnis erfolgreich sein wahr sein. Hier ist ein Beispiel – Beispiel einer Live-Demonstration publicclassTest{ publicstaticvoidmain(Stringargs[]){&nbs
