OOP mit AS3 und PHP 5 - Versuch eines Vergleiches
Auf dieser Seite finden Sie einen Vergleich der wichtigsten Merkmale von ActionScript 3 und PHP 5 in Bezug auf die objektorientierte Programmierung. Da der technische Hintergrund der beiden Sprache jedoch ein anderer ist, wird ein solcher Vergleich lückenhaft, bzw. nur bedingt aussagekräftig bleiben.
| AS3 | PHP 5 | |
| Klassendateien | ||
| In AS3 schreiben Sie Ihre Klassen in separate Text-Dateien, welche die Endung .as tragen müssen. | In PHP können Sie Klassen irgendwo im Code definieren. Trotzdem lohnt es sich für eine bessere Übersicht in Projekten - und im Hinblick auf die Wiederverwendbarkeit des Codes - Klassen in eigenen Dateien zu definieren. Diese tragen wie immer die Endung .php | |
| Name der Klassendatei | ||
| In AS3 trägt die Klassendatei denselben Namen wie die Klasse, die darin definiert wird. | In PHP sind Sie völlig frei beim Taufen von Klassendateien. Trotzdem lohnt es sich, im Wortlaut des Dateinamens einen Bezug zum Klassennamen herzustellen. Wenn Sie in einem Projekt mit mehreren Klassen arbeiten, finden Sie sich so schneller zurecht. | |
| Wie heisst die Konstruktor-Methode? | ||
| In AS3 trägt die Konstruktor-Methode denselben Namen wie die Klasse, zu welcher Sie gehört. | Seit PHP 5 schreibt man die Konstruktor-Methode so: __construct() (8ung: doppelter Unterstrich) |
|
| Muss die Konstruktor-Methode zwingend notiert werden? | ||
| nein | nein | |
| Importieren vs. Inkludieren | ||
In AS3 werden die Klassen mittels dem import-Befehl zur Verfügung gestellt. |
In PHP werden die Klassendateien mit einem include- oder require-Befehl hinzugefügt. |
|
| Deklaration der Variablen, welche die Instanz "empfängt" | ||
In AS3 müssen Variablen, welche eine Instanz speichern, mit dem Namen der Klasse typisiert werden:var myInstance:myClassName = new myClassName(); |
PHP kennt das nicht, weil die Variablen nicht der strikten Typisierung unterliegen:$myInstance = new myClassname(); |
|
| Ansprechen von Methoden und Eigenschaften | ||
In AS3 arbeiten Sie mit den praktischen Punktoperatoren:myInstance.myMethod(); undmyInstance.myProperty;
|
In PHP 5 schreibt man das so:$myInstance->myMethod(); und$myInstance->myProperty;
|
|
| Schlüsselwörter für die Zugriffsbeschränkung (vergl. 11. Schritt) | ||
publicinternalprotectedprivate |
publicprotectedprivate |
|
| Kann ich eine sog. Dokumentklasse einsetzen? | ||
| ja | nein, dieses Prinzip macht hier keinen Sinn | |