Heim > Backend-Entwicklung > PHP-Problem > Was ist der Unterschied zwischen PHP und Java objektorientiert?

Was ist der Unterschied zwischen PHP und Java objektorientiert?

青灯夜游
Freigeben: 2023-03-12 16:50:01
Original
2109 Leute haben es durchsucht

Unterschiede: 1. Das Klassenschlüsselwort von PHP kann keine anderen Modifikatoren als „abstract“ und „final“ haben, während Java dies kann. 2. Der Klassenname nach dem neuen Schlüsselwort in PHP kann eine Variable vom Typ String sein, in Java jedoch nicht. 3. Beim Zugriff auf das übergeordnete Objekt verwendet PHP Parent und Java Super.

Was ist der Unterschied zwischen PHP und Java objektorientiert?

Die Betriebsumgebung dieses Tutorials: Windows7-System, PHP7.1- und Java8-Version, DELL G3-Computer

Unvollständiger Vergleich von PHP und Java objektorientiert

PHP ist eine schwach typisierte Sprache und kann verwendet werden als prozessorientierte Sprachprogrammierung oder objektorientierte Programmierung. Java ist eine stark typisierte Sprache, rein objektorientiert. Die beiden Sprachen weisen einige Ähnlichkeiten in objektorientierten Aspekten auf. Mit der Java-Lernerfahrung ist es einfach, PHP zu erlernen, indem man sich einfach diese Schlüsselwörter ansieht (Klasse, Erweiterungen, Schnittstelle, Implementierungen, endgültig, öffentlich, geschützt, privat, statisch). ) Es ist ein sehr vertrautes Gefühl.

Ich habe die Gemeinsamkeiten und Unterschiede in mehreren Aspekten kurz zusammengefasst. Ich bin kein Akademiker, ich suche nur nach Praktikabilität. Wenn es Fehler gibt, korrigieren Sie mich bitte.

Vergleich 1: Deklaration von Klassen und Schnittstellen, Klassenvererbung, Deklaration der Schnittstellenimplementierung

Schnittstellendeklarationphp verwendet das übergeordnete Schlüsselwort, Java verwendet das Super-SchlüsselwortVergleich 2: Zugriffsmodifikatoren und ZugriffsmethodenVergleichspunkte
Vergleichspunkte Gleiche. Punkte Unterschiede
Klassendeklaration werden alle verwendet Das Schlüsselwort „class“ kann mit den Modifikatoren „abstract“ und „final“ geändert werden. Die Bedeutung dieser beiden Modifikatoren ist identisch mit den Modifikatoren „abstract“ und „final“. In Java kann es nur eine öffentliche Klasse geben
Verwenden Sie das Schlüsselwort „Schnittstelle“ wie oben Erbe Verwendung das Schlüsselwort „extens“ Keine
Schnittstellenimplementierung Verwenden Sie das Schlüsselwort „implements“, um mehrere Schnittstellen zu implementieren Keine
Klasseninstanziierung Verwenden Sie das Schlüsselwort „new“, beide werden zurückgegeben. Referenzen auf Objekte, Objektzuweisungen sind ebenfalls Referenzen Zuweisungen Der Klassenname nach dem neuen Schlüsselwort in PHP kann eine Variable vom Typ String sein, aber Java kann nicht
auf das übergeordnete Objekt zugreifen

Gleiche Punkte
Unterschiede

Modifikatorschlüsselwörter

sind alle öffentlich, geschützt, privatKeineZugriffskontrolle von PHP Seien Sie etwas lockererVergleich 3: Klassenmitglieder und Klassenmethoden... Vergleichspunkte Gleiche PunkteUnterschiedeSchlüsselwörterconstJava verwendet normalerweise final, PHP kann final nicht verwenden
Modifikator Verhalten öffentlich: sowohl innerhalb als auch außerhalb der Klasse zugänglich, geschützt: innerhalb der Klasse und Unterklassen zugänglich, privat: nur innerhalb der Klasse zugänglich
Standardmodifikator Keine PHP ist standardmäßig öffentlich, Java ist standardmäßig privat. Zugriffsmethoden für Instanzmitglieder und Instanzmethoden. Keine. PHP muss $this-> verwenden. Java verwendet dies. Sie können es auch weglassen

Funktionsdomänen Alle Instanzen dieser Klasse

KeineZugriffsmethoden ClassName::Variablen- oder Funktionsname, zugänglich ohne InstanziierungKeine

Vergleich 5: Abstrakte Methoden und abstrakte Klassen werden beide mit dem Schlüsselwort abstract geändert. Eine Klasse mit mindestens einer abstrakten Klasse kann nicht instanziiert werden Unterklasse Um instanziiert werden zu können, müssen alle abstrakten Methoden der übergeordneten Klasse implementiert werden.

Vergleich 6: Umschreiben/Überschreiben/Überladen

Die Signatur der Unterklassenmethode ist genau die gleiche wie die der übergeordneten Klassenmethode, die als Umschreiben/Überschreiben bezeichnet wird. Zu diesem Zeitpunkt ist die übergeordnete Klassenmethode im untergeordneten Element unsichtbar Klasse. Da Java eine stark typisierte Sprache ist, verfügt sie über einen Überladungsmechanismus (gleicher Methodenname, unterschiedliche Signaturen, welche Methode beim Aufruf basierend auf dem tatsächlichen Parametertyp und der tatsächlichen Parameternummer aufgerufen wird). PHP ist schwach typisiert und verfügt nicht über eine solche Überladung. Stattdessen verfügt es über eine Überladung, um Klassenattribute und -methoden dynamisch zu erstellen, was durch magische Methoden (__get, __set, __unset, __isset, __callStatic) erreicht wird.

Empfohlenes Lernen:

php-Schulung

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen PHP und Java objektorientiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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