Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative

 << zurück
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/)
Objektorientierung und Codedesign mit Flash MX 2004
Buch: ActionScript 1 und 2

ActionScript 1 und 2
672 S., mit CD, Referenzkarte, 44,90 Euro
Rheinwerk Design
ISBN 3-89842-221-6
gp Kapitel 3 Einführung in die Programmierung
  gp 3.1 Vom Problem zum Programm
    gp 3.1.1 Probleme mit den Problemen
    gp 3.1.2 Algorithmen und Programme
    gp 3.1.3 Daten
    gp 3.1.4 Datenstrukturen
  gp 3.2 Imperative Programmierung
    gp 3.2.1 Anweisungen
    gp 3.2.2 Funktionen
    gp 3.2.3 Kontrollstrukturen
  gp 3.3 Ereignisorientierte Programmierung
  gp 3.4 Objektorientierte Programmierung
    gp 3.4.1 Programmiermodelle
    gp 3.4.2 Metaphern und Konzepte
    gp 3.4.3 Leistungsfähigkeit


Rheinwerk Design - Zum Seitenanfang

3.4 Objektorientierte Programmierung  downtop

Denke nicht in Algorithmen, sondern in Objekten!

Steigende Komplexität, schlechte Planung, mangelnde Spezifikation, unzureichende Projekteinschätzung, ungenügende Kalkulation, missverstandene Aufgabenstellung und daraus resultierende Terminüberschreitung, Sprengung des Budgets, Nichterfüllung der Anforderungen und schlechte Performance bis hin zur Unbrauchbarkeit der Software – nur einige leider immer wieder auftretende Schwierigkeiten bei der Erstellung von Programmen, die in den Siebzigerjahren den Begriff Softwarekrise geprägt haben.

Siehe Teil III, »Objektorientierung«

Um diese Krise in den Griff zu bekommen, sind große Anstrengungen unternommen und zahlreiche Lösungsansätze entwickelt worden, von denen die objektorientierte Programmierung (OOP) die populärste ist. Nicht zuletzt aus diesem Grund ist ihr in diesem Buch sehr viel Raum gewidmet! Aber auch die Objektorientierung ist kein Garant für die termingerechte und erfolgreiche Durchführung eines Projektes.


Rheinwerk Design - Zum Seitenanfang

3.4.1 Programmiermodelle  downtop

ActionScipt basiert wie zahlreiche andere Sprachen, darunter z.B. JavaScript, Java und C++, auf dem objektorientierten Modell. Die Programmiersprachen eines Modells ähneln sich in der Regel sehr, Sprachen unterschiedlicher Modelle hingegen verhalten sich auch sehr unterschiedlich. Aus diesem Grund fällt der Wechsel zwischen Programmiersprachen in der Regel nicht allzu schwer, wenn man einmal die Konzepte des zugrunde liegenden Modells verinnerlicht hat – seien Sie also nicht allzu frustriert, wenn ein Programmierer bereits nach kurzer Zeit ActionScript beherrscht. Dies hat nichts mit seinen Flash-Fähigkeiten zu tun …

Aber egal, für welches Modell Sie sich letztendlich entscheiden. Grundsätzlich gilt: Alle Programmiersprachen sind gleich mächtig, da der Computer letztendlich jede Anweisung eines Programms in eine binäre Maschinensprache übersetzt, also in Nullen und Einsen. Dabei kann eine einzige Anweisung in einer höheren Programmiersprache für Tausende von Befehlen in Maschinensprache stehen.


Tabelle 3.1   Höhere Programmiersprachen

  Beispiel Jahr
Imperative Programmierung Basic 1964
  Pascal 1970
  C 1972
Funktionale Programmierung Lisp 1969
Logische Programmierung Prolog 1972
Objektorientierte Programmierung (OOP) Smalltalk 1972
  C++ 1986
  Java 1990

Die höheren Sprachen – zu denen auch ActionScript zählt – bieten darüber hinaus den Vorteil, dass sie deutlich einfacher zu erlernen und zu beherrschen sind als niedrige Sprachen wie die Maschinensprache oder Assembler. Es ist ein geringeres Abstraktionsvermögen seitens des Entwicklers notwendig, da sich diese Art der Softwareentwicklung stärker an der Lösung der eigentlichen Aufgabe als an der Maschine orientiert.


Rheinwerk Design - Zum Seitenanfang

3.4.2 Metaphern und Konzepte  downtop

siehe Kapitel 13

Die Objektorientierung bietet als zusätzliche Pluspunkte mit den Objekten eine aus der realen Welt bekannte Metapher, die es ermöglicht, die echte Welt in den Computer zu übertragen (Abstraktion). Diese Metapher erlaubt es darüber hinaus, Programme einfach in modulare und gekapselte Einheiten zu unterteilen, die sich durch Wiederverwendbarkeit auszeichnen (Blackbox-Prinzip).

Die Objektorientierung geht aber noch einen Schritt weiter und verwendet die Prinzipien der Evolution, indem sie es ermöglicht, ganze Klassen von Objekten zu erstellen sowie Fähigkeiten und Eigenschaften zu vererben. Auf diese Art und Weise versuchen Programmierer, die Probleme der Softwarekrise in den Griff zu bekommen. Für den weiter oben erwähnten Pfannkuchen bedeutet das, dass die Datenstruktur als Klasse abgelegt wird und über die Eigenschaften hinaus noch Fähigkeiten erhält.

Auf diese Art und Weise funktioniert die Klasse aller Pfannkuchen – egal wie viele Vorkommen des Pfannkuchens gebraucht werden – beinahe in allen Umgebungen, ohne weitere Kenntnisse ihrer inneren Struktur:

// Definiere Klasse mit ActionScript 1 (Prototyp)
function Pfannkuchen (zutaten) {
   // Erzeuge den Pfannkuchen
}
// Definiere Fähigkeiten
Pfannkuchen.prototyp.verspeise = function () {
   // Verspeise den Pfannkuchen
}
// Erzeuge Vorkommen der Klasse
meinPfannkuchen = new Pfannkuchen(zutaten);
meinPfannkuchen.verspeise();
neuerPfannkuchen = new Pfannkuchen(zutaten);

Übrigens: In einer eigenständigen ActionScript 2-Datei namens Pfannkuchen.as sähe dieses Beispiel ungefähr so aus:

// Definiere Klasse mit ActionScript 2 (class)
class Pfannkuchen {
   function Pfannkuchen (zutaten) {
      // Erzeuge den Pfannkuchen
   }
   // Definiere Fähigkeiten
   function verspeise () {
      // Verspeise den Pfannkuchen
   }
}

Der weitere Programmcode direkt in Flash ist mit dem von ActionScript 1 weitestgehend identisch:

// Erzeuge Vorkommen der Klasse
meinPfannkuchen = new Pfannkuchen(zutaten);
meinPfannkuchen.verspeise();
neuerPfannkuchen = new Pfannkuchen(zutaten);
Flash für Programmierer

Aus der Sicht eines »klassischen« Programmierers von Hochsprachen wie Java und C++ mutet Flash mit all seinen Design-Werkzeugen und der Zeitleiste nicht wie eine ernsthafte Entwicklungsumgebung an. Und in der Tat gehört die Entwicklungsumgebung Flash eher zu der Klasse der Autorensysteme, deren ursprüngliches Ziel die Anwendungsentwicklung weitestgehend ohne Programmierung ist. Obwohl Flash ein Autorensystem inklusive vieler Zeichenwerkzeuge geblieben ist, sind zahlreiche Hilfsmittel hinzugekommen, die zusätzlich die Programmierung anspruchsvoller und umfangreicher Anwendungen ermöglichen und Flash so in die Riege der »richtigen« Entwicklungsumgebungen katapultieren und somit für die »klassischen« Programmierer interessant machen.

Zusätzlich bereichern die Konzepte von Flash richtig eingesetzt die Programmierung. Die bei regieorientierten Autorensystemen (Filmmetapher) verwendete Zeitleiste ist ein gutes Beispiel. Die Zeitleiste mit ihren Bildern kann als eine Liste mit aneinander gereihten Zuständen gesehen werden. Eine Animation ist somit nichts anderes als die kontinuierliche Darstellung von hintereinander liegenden Zuständen. Dank der Programmiersprache ist ein willkürlicher Wechsel zwischen den Zuständen jederzeit möglich, wodurch die Bilder in der Zeitleiste eine gute Alternative zu Variablen und Eigenschaften sind, um komplexe – in erster Linie grafische – Datenstrukturen zu beinhalten.

Einführung in Flash

Eine ausführliche Einführung in die Grundlagen und die Funktionsweise von Flash finden Sie in unserem Buch »Flash MX 2004 – Grundlagen und Praxislösungen« (ISBN 3-89842-468-5).


Rheinwerk Design - Zum Seitenanfang

3.4.3 Leistungsfähigkeit  toptop

Ist Objektorientierung leistungsfähiger als andere Herangehensweisen? Diese Frage lässt sich mit einem klaren Nein beantworten. Zwar wird der Entwicklungsprozess durch OOP verbessert, aber es kann auf diese Art und Weise nichts programmiert werden, was nicht durch andere Programmiermodelle lösbar wäre. Alle Programmiersprachen leisten das Gleiche, und das wiederum ist eine der wichtigsten Erkenntnisse der Informatik. Jede Programmiersprache wird letztendlich in Maschinensprache übersetzt und hat somit die gleichen Möglichkeiten (mehr zu diesem Thema finden Sie in der Informatik unter den Begriffen »Turingmaschine« und »Churchs These«).

OOP zählt oft zu den effizientesten Programmiermöglichkeiten. Aber nicht in allen Fällen: Wenn es sich um künstliche Intelligenz handelt, sind z.B. logische Programmiersprachen wie Prolog sehr beliebt (bei Prolog handelt es sich um eine Programmiersprache, die auf der Angabe von logischen Regeln aufbaut).

Übrigens sind aus der Sicht der Informatik die Programmiermöglichkeiten von Flash bereits seit Flash 2 identisch. Sie haben natürlich Recht, dass Flash MX 2004 viel mehr kann als Flash 2. Aber trotzdem lösen alle Versionen zumindest theoretisch die gleiche Menge mathematischer Probleme. Eine aktuelle Version von Flash benötigt in vielen Fällen aber nur einen Bruchteil der früher notwendigen Entwicklungszeit.

 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 1 und 2
ActionScript 1 und 2
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern