Im vorherigen Artikel habe ich Ihnen „Führen Sie eine Einführung in die Schnittstellendeklaration und -anwendung in PHP in fünf Minuten (detaillierte Beispiele)“ gebracht, in der die Deklarations- und Anwendungsprobleme der PHP-Schnittstelle im Detail vorgestellt wurden Werfen wir in diesem Artikel einen Blick auf die abstrakten Klassen und abstrakten Methoden in PHP. Ich hoffe, dass es für alle hilfreich ist!
Im vorherigen Artikel habe ich die Schnittstelle vorgestellt und erwähnt, dass die Schnittstelle als spezielle abstrakte Klasse verstanden werden kann. Um zu verstehen, was eine abstrakte Klasse ist, müssen wir zuerst darüber sprechen Eine abstrakte Methode besteht darin, dass die Entstehung abstrakter Klassen und abstrakter Methoden hauptsächlich die Vererbung von Klassen erleichtert. Schauen wir uns dann an, was abstrakte Methoden und abstrakte Klassen sind.
Was ist eine abstrakte Methode? In unserer vorherigen Studie kann eine Klasse mehrere Unterklassen haben. Wir definieren abstrakte Methoden, um die Klassenvererbung zu erleichtern. Die in unserer Klasse definierten Methoden ohne Methodenkörper sind abstrakte Methoden. Was ist also ein Methodenkörper? Der Methodenkörper bezieht sich auf die geschweiften Klammern und den Inhalt innerhalb der geschweiften Klammern, wenn die Klasse deklariert wird. Das Fehlen eines Methodenkörpers bedeutet, dass kein solcher Inhalt vorhanden ist. Stattdessen wird er direkt nach der Methodenanweisung platziert und mit einem Semikolon abgeschlossen während der Erklärung. Dies wird als abstrakte Methode bezeichnet. Es ist zu beachten, dass abstrakte Methoden bei der Deklaration mit dem Schlüsselwort „abstract
“ geändert werden müssen. Das Syntaxformat lautet wie folgt:
abstract 访问权限修饰符 function 方法名1(参数列表); abstract 访问权限修饰符 function 方法名2(参数列表);
abstract
”来进行修饰。它的语法格式如下:
abstract class demo{ var $test; abstract function fun1(); abstract function fun2(); }
抽象方法的理解还是比较简单的,接下来我们看一下什么是抽象类。
什么是抽象类
通过上文已经知道了什么是抽象方法,那么抽象类的定义其实也很好理解,当一个类的里面有一个方法是抽象方法的时候,我们定义这个类就是抽象类。同时抽象类也是需要使用“abstract
”关键字来修饰的,在抽象类里面可以有不是抽象方法的成员属性,但是一旦有一个方法是抽象方法,那这个类就是抽象类。
其中需要注意的是,抽象类的成员方法并不全是抽象方法,哪些不是抽象方法的成员方法和属性访问权限不能是private
Was ist eine abstrakte Klasse? Durch das oben Gesagte wissen wir bereits, was eine abstrakte Methode ist. Daher ist die Definition einer abstrakten Klasse tatsächlich leicht zu verstehen , wir definieren diese Klasse als abstrakte Klasse. Gleichzeitig müssen abstrakte Klassen auch mit dem Schlüsselwort „abstract
“ geändert werden. In abstrakten Klassen kann es Mitgliedsattribute geben, die keine abstrakten Methoden sind, aber sobald eine Methode eine abstrakte Methode ist, dann ist diese Klasse eine abstrakte Klasse.
privat
sein müssen. geerbt. Lassen Sie mich Ihnen unten ein Beispiel zeigen:
<?php abstract class father{ public $study = '好好学习<br>'; public $study1 = '天天向上<br>'; abstract function title(); abstract function output(); } class Demo extends father{ public function title(){ echo '福如东海,寿比南山。'; } public function output(){ echo $this -> study.$this -> study1; } } $obj = new Demo(); $obj -> output(); $obj -> title(); ?>
Eigenschaften abstrakter Klassen
Die abstrakte Klasse enthält abstrakte Methoden, die nicht implementiert werden können. Dies bedeutet, dass die abstrakte Klasse nicht instanziiert werden kann und das Objekt nicht erstellt werden kann Daher können wir es nicht direkt verwenden. Welche Probleme können wir durch die Verwendung abstrakter Klassen lösen, da wir sie nicht direkt verwenden können?
rrreee
Ausgabeergebnis:
Wie oben erwähnt, wurde im vorherigen Artikel über das relevante Wissen über die PHP-Schnittstelle gesprochen. Da es sich also um eine spezielle abstrakte Klasse handelt, welche Unterschiede und Gemeinsamkeiten bestehen ? Schauen wir uns unten um. Es wird empfohlen, dass Sie zuerst „Fünf Minuten, um Ihnen die Schnittstellendeklaration und -anwendung in PHP zu zeigen (detaillierte Beispiele)
“ zu lesen, in dem die PHP-Schnittstelle vorgestellt wird.Der Unterschied zwischen PHP-Schnittstellen und abstrakten Klassen
Die Ähnlichkeiten zwischen PHP-Schnittstelle und abstrakter Klasse
🎜werden alle verwendet, um eine bestimmte Sache zu deklarieren, Namen und Parameter zu standardisieren und Module zu bilden, ohne detaillierte Implementierungsdetails.
Alle zugehörigen Details werden durch Klassen umgesetzt.
Syntaktisch ist die abstrakte Methode einer abstrakten Klasse dieselbe wie eine Schnittstelle und kann keinen Methodenkörper, also das Symbol {}, haben.
Alle Schnittstellen können Schnittstellen erben, um neue Schnittstellen zu bilden, und abstrakte Klassen können abstrakte Klassen erben, um neue abstrakte Klassen zu bilden.
Bei Interesse können Sie auf „PHP-Video-Tutorial“ klicken, um mehr über PHP-Kenntnisse zu erfahren.
Das obige ist der detaillierte Inhalt vonSie müssen verstehen, was abstrakte Klassen und abstrakte Methoden in PHP sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!