instanceof ist ein neues Schlüsselwort in PHP5. Es hat zwei Funktionen: (1) Bestimmen, ob ein Objekt eine Instanz einer bestimmten Klasse ist, (2) Bestimmen, ob ein Objekt eine bestimmte Schnittstelle implementiert.
Das allgemeine Format ist: ObjectName-Instanz von Klassenname
(1) Bestimmen Sie, ob ein Objekt eine Instanz einer bestimmten Klasse ist
Die Das Folgende bezieht sich auf Kapitel 1. Schauen wir uns ein Beispiel für eine Verwendung an:
Erstellen Sie zuerst eine übergeordnete Klasse und dann eine Unterklasse, um die übergeordnete Klasse zu erben. Instanziieren Sie das Unterklassenobjekt, bestimmen Sie dann, ob das Objekt zur Unterklasse gehört, und bestimmen Sie dann, ob es zur übergeordneten Klasse gehört.
<?php header("content-type:text/html;charset=utf-8"); class Itbook{ } class phpBook extends Itbook{ private $bookname; } $phpbook = new phpBook(); if($phpbook instanceof phpBook){ echo '$phpbook属于phpBook类<br/>'; } if($phpbook instanceof Itbook){ echo '$phpbook属于Itbook类'; }
(2) Bestimmen Sie, ob ein Objekt eine bestimmte Schnittstelle implementiert
Das Obige ist das erste Verwendungsbeispiel von „instanceof“. Beispiele für zwei Verwendungen:
interface ExampleInterface { public function interfaceMethod(); } class ExampleClass implements ExampleInterface { public function interfaceMethod() { return 'php中文网'; } } $exampleInstance = new ExampleClass(); if($exampleInstance instanceof ExampleInterface){ echo '我在php中文网'; }else{ echo '你也一起来吧'; }
Codeinterpretation:
Erstellen Sie zuerst eine Schnittstellenklasse „ExampleInterface“, definieren Sie Methoden, erstellen Sie dann eine Unterklassenschnittstelle und definieren Sie Methoden. Dann wird die Schnittstelle instanziiert und dann beurteilt. Es ähnelt tatsächlich der ersten Verwendung, außer dass die Schlüsselwörter geändert werden und alles andere gleich ist.
Das obige ist der detaillierte Inhalt vonVerwendung des Schlüsselworts „instanceof' in PHP objektorientiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!