Heim >Backend-Entwicklung >PHP-Problem >Was sind die Unterschiede zwischen PHP und C++?

Was sind die Unterschiede zwischen PHP und C++?

藏色散人
藏色散人Original
2021-12-15 09:26:282140Durchsuche

Die Unterschiede zwischen PHP und C++ sind: 1. PHP ist eine serverseitige Skriptsprache, während C++ ein Erbe der C-Sprache ist. 2. PHP unterstützt keine Überladung in C++ Schnittstelle Anders; 4. PHP ist eine schwach typisierte Sprache, daher ist der Polymorphismus von PHP nicht so offensichtlich wie bei C++ usw.

Was sind die Unterschiede zwischen PHP und C++?

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.4, Dell G3-Computer.

Was sind die Unterschiede zwischen PHP und C++?

Unterschied:

Ein Typ Base mit einer geschützten Mitgliedsvariablen (angenommen i), seine Unterklasse Derived erbt direkt von Base und Derived hat eine Mitgliedsfunktion func, sein Parameter ist vom Basistyp. Kann diese Funktion auf das geschützte Mitglied des Basisobjekts zugreifen? In C++ ist das nicht möglich, aber in PHP ist es möglich.

  • Über Überladung:

PHP unterstützt keine Überladung in C++ (unabhängig davon, ob die Parameter gleich oder unterschiedlich sind, führt dies zu einem Fehler bei der doppelten Definition). PHP verfügt über eine eigene Überladungsmethode, die umfangreicher ist als die in C++. Sie kann nicht nur Funktionen überladen (durch Verwendung der Methode __call()), sondern auch Mitgliedsvariablen überladen (durch Verwendung von __get() und __set() ). In C++ können Funktionen nur überladen werden, und die einzigen Methoden zum Überladen sind: unterschiedliche Parametertypen und unterschiedliche Funktionsmodifikatoren (const).

  • Über Zusammenfassung und Schnittstelle

Es gibt diese beiden Modifikatoren in PHP, da PHP die Mehrfachvererbung einer normalen Klasse nicht unterstützt und daher die Schnittstelle zur Implementierung der Mehrfachvererbung verwendet wird. Die abstrakte Klasse existiert auch in C++, aber die Implementierungsmethode ist anders. Die rein virtuelle Funktion wird in C++ verwendet, um anzuzeigen, dass diese Klasse eine abstrakte Klasse ist und nicht alleine instanziiert werden kann. In PHP können Sie nicht nur den Funktionsmodifikator „abstrakt“ verwenden (zusätzlich muss die Klasse auch mit „abstrakt“ gekennzeichnet sein), um diese Bedeutung anzugeben, sondern Sie können den abstrakten Modifikator auch nur verwenden, um die Klasse so zu ändern, dass sie direkter angibt, dass es sich um eine handelt abstrakte Klasse. Darüber hinaus ist die rein virtuelle Funktion in C++ nicht durch den Zugriffstyp eingeschränkt, sie wird als öffentlich betrachtet, während die abstrakte Funktion in PHP nicht als privat deklariert werden kann.

  • Polymorphismus

Da PHP eine schwach typisierte Sprache ist, spiegelt sich ihr Polymorphismus überall wider, was dazu führt, dass ihr Polymorphismus nicht so offensichtlich ist wie in C++. In PHP können beispielsweise alle Funktionen der Basisklasse als virtuell betrachtet werden, sodass keine Modifikatoren hinzugefügt werden müssen. Funktionen in der Unterklasse mit demselben Namen wie die Basisklasse werden dynamisch aufgerufen, sind jedoch unterschiedlich in C++. Wenn die Funktion in der Basisklasse keinen virtuellen Modifikator hinzufügt, wird die Funktion mit demselben Namen in der Unterklasse nicht dynamisch aufgerufen, sondern kann nur statisch aufgerufen werden.

  • Operatorüberladung

gibt es in PHP nicht, wohl aber in C++. Der Fokus liegt auf dem Operator ==, der für jeden Typ in PHP verwendet werden kann, auch wenn der Typ keine eigene überladene Funktion == hat (wie in C++). Beim Vergleich von Objekten in PHP bedeutet ==, dass die Attribute und Werte der beiden Objekte gleich sind und auch die Typen gleich sind; PHP verfügt außerdem über einen ===-Operator, was bedeutet, dass sie auf dasselbe verweisen Objekt, das Java sehr ähnlich ist.

  • finales Schlüsselwort

Dieses Schlüsselwort existiert in PHP, was bedeutet, dass diese Funktion nicht überschrieben werden kann (wenn sie zum Ändern einer Funktion verwendet wird) oder die Klasse nicht vererbt werden kann (wenn eine Klasse mit einer Klasse geändert wird). ). In C++ gibt es kein solches Schlüsselwort und dieser Effekt kann nicht simuliert werden.

  • Objektzuweisung und -kopie

In C++ gibt es ungefähr drei Möglichkeiten zum Kopieren oder Zuweisen.

Die eine ist die Zeigerzuweisung, also p1 = &obj, was der Zuweisungsoperation in PHP und Java entspricht.

Die andere ist die mitgliedsweise Zuweisung, die passiert, wenn obj1 = obj2 und die flache Ausführung standardmäßig durchgeführt wird Das Kopieren hat den gleichen Effekt wie das Klonen in PHP. Es kann Ihre tiefe Kopie oder andere benutzerdefinierte Kopien durchführen, indem es den Zuweisungskopiervorgang überlädt, der der Member-Funktion __clone() in PHP entspricht.

Die dritte Funktion ist die Member-Initialisierung, die beim Übergeben von Parametern automatisch ausgeführt wird Der Rückgabewert wird übergeben oder wenn der Container, der das Objekt enthält, initialisiert wird. Sie können seine Wirkung steuern, indem Sie den Kopierkonstruktor selbst definieren.

Der Kopierkonstruktor wird in PHP fast nie verwendet, da seine Übertragung vollständig per Referenz erfolgt und keine direkte Kopie des Objekts ist.

Einführung in PHP:

PHP (PHP: Hypertext-Präprozessor) ist eine serverseitig ausgeführte Skriptsprache, die sich besonders für die Webentwicklung eignet und in HTML eingebettet werden kann. Die PHP-Syntax erlernte die C-Sprache, absorbierte die Funktionen mehrerer Sprachen von Java und Perl, um ihre eigene einzigartige Syntax zu entwickeln, und verbesserte sich basierend auf ihren Stärken weiter, wie z. B. der objektorientierten Programmierung von Java Die Sprache wurde ursprünglich entwickelt, um Entwicklern das schnelle Schreiben hochwertiger Websites zu ermöglichen. [1-2] PHP unterstützt sowohl objektorientierte als auch prozessorientierte Entwicklung und ist sehr flexibel einsetzbar.

Einführung in C++:

C++ ist die Vererbung der C-Sprache. Es kann nicht nur eine prozedurale Programmierung der C-Sprache durchführen, sondern auch eine objektbasierte Programmierung, die durch abstrakte Datentypen gekennzeichnet ist, und kann auch eine objektorientierte Programmierung durchführen, die durch Vererbung und Polymorphismus gekennzeichnet ist. Während C++ gut in der objektorientierten Programmierung ist, kann es auch prozessbasierte Programmierung durchführen. Daher kann C++ je nach Größe des Problems, an das es sich anpasst, an unterschiedliche Größen angepasst werden.

C++ verfügt nicht nur über die praktischen Funktionen eines effizienten Computerbetriebs, sondern setzt sich auch für die Verbesserung der Programmierqualität umfangreicher Programme und der Problembeschreibungsfähigkeiten von Programmiersprachen ein.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen PHP und C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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