Ich dachte, es könnte nützlich sein für diejenigen, die vor kurzem die Entwicklung von Anwendungen für Apple iPhone genähert haben, vergleichen Sie Adobe ActionScript - die Sprache, in Adobe Flash und Adobe Flex verwendet, häufiger unter den neo-Programmierer - und Objective-C verwendet von Apple, um ihre Anwendungen zu entwickeln. Objective-C ist in der Tat eine objektorientierte Sprache, die im reinen Sinne, nicht, dass es nicht actionscript, aber Objective-C ist definitiv ein Plus, weil es eine Erweiterung von ANSI C und die Syntax ist eine Mischung zwischen C / C + + und Smalltalk, ist eine echte OO (Object-Oriented Language). Viele Features von Objective-C nicht vorhanden sind in Actionscript, dass die neueste Version 3.0, hat sich gezeigt, zu wachsen, obwohl es noch weit aus dem Profil eine gute Sprache für objektorientierte Entwicklung.
Unterricht
Zum Beispiel sehen wir, wie sie anders sind in ActionScript Klassen-Definitionen und Objective-C strukturiert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | / / Package Formel - für Namensräume von Adobe {Package Formel / / Class Definition selbst MyClass { public class MyClass { / / Definition of Ownership (öffentlich oder privat) myPropertyVar : String ; myPropertyVar public var: String ; / / Konstruktor MyClass ( ) { public function MyClass () { / / Todo } / / Öffentliche Methode myMethod ( ) : void { public function myMethod (): void { / / Todo } } } |
In Objective-C, ist der erste Unterschied (geerbt von C) die Trennung zwischen den "Definitionen" und die Umsetzung. In Objective-C sind Sie immer mit zwei verschiedenen Arten von Dateien:. H. M (in C hätten wir H. C.). Das. H (Header-Dateien) enthalten nur die Definitionen, so dass keine Installation oder Implementierung.
1 2 3 4 5 6 7 8 |
. In der Datei M haben wir statt:
1 2 3 4 5 6 7 | / / MyClass.m @ Implementation myClass void ) myMethod { - (Void) {myMethod / / Todo } @ End |
Objective-C verwaltet die Eigenschaften und Methoden in einer Weise, ganz anders als Actionscript. Zum Beispiel die Methode myMethod gesehen wird früher als (oder aufgerufen wird) auf diese Weise:
1 | ; [Self myMethod]; |
Es spricht in der Tat, Senden Nachricht, anstatt den Aufruf einer Methode!
Hinweis: Dieses Feature ist echt. Wenn Sie eine Methode in Objective-C aufrufen, wird als physikalische Adresse oder Funktion Zeiger. In Objective-C Objekt tatsächlich sendet eine wirkliche Botschaft, wo sie aufgefordert, eine bestimmte "Methode" durchgeführt werden
Die Syntax mit eckigen Klammern, die vielleicht schwierig, sogar für ANSI C-Entwickler zu verdauen, wird klarer und einfacher, wenn wir der Auffassung sind,
1 2 3 4 5 6 7 | myClass.myMethod (); / / Ist gleich ; [MyClass myMethod]; / / Oder ; myClass.myPropertyVar = 1978; / / Gleich 1978 ] ; [MyClass setMyPropertyVar: 1978]; |
Im Hinblick auf die Erstellung von Objekten, dann erstellen Sie eine Instanz einer Klasse, haben wir:
1 | MyClass = new MyClass ( ) ; var istanceMyClass: MyClass = new MyClass (); |
1 2 3 4 5 6 | [ [ MyClass alloc ] init ] ; MyClass * istanceMyClass = [[MyClass alloc] init]; / / Oder einfach [ MyClass alloc ] ; MyClass * istanceMyClass = [MyClass alloc]; / / Objective-C nicht wirklich Unterstützung eines Herstellers, wie / / Happens in Actionscript: initWithName siehe zum Beispiel, / / Init initWithFrame oder einfach |
Dies ist nur eine einfache Hilfe, so dass unerforschten viele andere Features Objective-C gibt es Konzepte wie Zeiger (ähnlich wie Verweise in Actionscript - aber nicht identisch), Protokolle, Kategorien und vieles mehr. Wenn Sie nur den Umgang mit Objective-C entmutigt, wie ich schon angedeutet, durch ANSI C Spielen , geschweige denn - noch - Actionscript, Javascript oder PHP! Die letztere ist die Kenntnis der ANSI C, wiederzuentdecken sie in ein Licht ganz anders aus.











[...] Beitrag von Actionscript zu Objective-C (wo Sie vergleichen den Code und die Syntax von ActionScript und Objective-C) in Actionscript [...]