Title: Objektorientierung
1Vergleich objektorientierter Programmiersprachen
(OOP) mit Skriptsprachen von Autorensystemen zur
Erstellung multimedialer Software
Probevorlesung
2Vorüberlegungen
- Vorgehen
- Matrix - Anforderungen der gestellten Aufgabe
- Beispiel einer Anwendung / Vergleich der Lösungen
- Bildet das Ergebnis eine Entscheidungsgrundlage?
- Rahmenbedingungen betrachten
- Abstraktion und Eingrenzung
3Gliederung
Vergleich objektorientierter Programmiersprachen
(OOP) mit Skriptsprachen von Autorensystemen
zur Erstellung multimedialer Software
4Programmiersprachen (Auswahl)
- Imperative Programmiersprachen
- Objektorientierte Programmiersprachen
- Deklarative Programmiersprachen
5Anwendungsgebiete
- Fortran Proz. mathematisch-technische Probleme
- Algol 60 Proz. mathematisch wissenschaftliche
Probleme - Cobol Proz. (Oo.) kaufmännische Probleme
- Lisp Funk. Symbol-Manipulation
- Basic Proz. kleinere mathematische Probleme
- Simula 67 Proz. Math.-tech.-wissenschaftl.
Probleme und Simulationen - Pascal Proz Math.-tech und kaufmännische Probleme
- C Proz. Systemnahe Programmierung
- Modula-2 Proz. (Oo.) Math.-tech und
kaufmännische Probleme - Prolog Prädikativ Anwendungen mit symbolischen
Formeln - Ada Proz. (Oo.) Echtzeitanwendungen
- SQL Deklarativ Datenbankanwendungen
- Smalltalk-80 Oo. Anwendungs- und Systemsoftware
- C Proz. (Oo.) Anwendungs- und Systemsoftware
- Eiffel Oo. Umfangreiche Softwaresysteme
- Java Oo. Anwendungen in vernetzten und
heterogenen Umgebungen
6Skriptsprachen
- Ursprünglich mit kleinem Sprachumfang
- Zugeschnitten auf ein spezielles Aufgabengebiet
- Multimedia-Präsentation
- Webanwendungen
- Skriptsprachen werden nicht kompiliert
7Compiler
8Interpreter
- Längere Laufzeit des Programms
- Unterstützung bei der interaktiven
Programmentwicklung - Plattformunabhängigkeit
9Abstraktionsebenen
Multimedia-Anwendung
Abstraktion von der Hardware
Abstraktion von der Anwendung
Framework oder Bibliothek
System-Software
Gerätetreiber
Multimedia-Hardware-Geräte
10Anforderungen an Programmiersprachen zur
Erstellung multimedialer Software
- Effiziente Verarbeitung großer Datenmengen
- Spezifizierung von Zeitanforderungen
- Mechanismen zur Handhabung von Ausnahmesituationen
- Synchrone Darstellung mehrerer Medien
- Wiederverwendbarkeit durch Modularisierungskonzept
- Erweiterbarkeit und Wartbarkeit durch
Modularisierung, Kapselung, Abstraktion und
Hierachiebildung - Förderung von robusten Programmen in Entwurf und
Entwicklung
11Objektorientierung
- Daten und Anweisungen werden als Einheit
betrachtet - Objekte kommunizieren miteinander (Senden und
Empfangen von Botschaften) - Ermöglicht paralleles programmieren und testen.
- Unterstützung bei der Programmierung komplexer
Aufgaben - Wiederverwendbarkeit von Programmcode
- Erweiterbarkeit bestehender Programme
12Beispiel Punktezähler
Vorlage / Klasse
13Vererbung und Kapselung
Objekt / Instanz
Vorlage / Klasse
0009860
Erzeugen einer Instanz der Klasse xy
Objekt / Instanz
0007450
vererben
Objekt / Instanz
0003360
Super Klasse
14Abstraktionsebenen
Multimedia-Anwendung
Abstraktion von der Hardware
Abstraktion von der Anwendung
Framework oder Bibliothek
System-Software
Gerätetreiber
Multimedia-Hardware-Geräte
15Macromedia Director und Lingo
- Umfangreiche Funktionalitäten und Einsatzbereiche
- Skriptsprache Lingo ist teilweise objekt- und
ereignisorientiert - Wurde häufig verändert z.B. Punktsyntax ab
Version 7 - Befehle können in drei Gruppen eingeteilt werden
- Core-Lingo
- Net-Lingo
- Xtra-Lingo
- Behaviour Library mit Lingo-Prozeduren
- Grundgedanke der Objektorientierung wird
unterstützt
16Lingo Begriffe
- Klassischer Begriff Lingo Begriff
- Super Klasse, Basis Klasse Vorgängerskript
Ancestor (Ahne) - Klasse Übergeordnetes Skript, Parent script
(Eltern) - Instanz Untergeordnetes Objekt, Object, Instanz
- Instanz Variable, Attribut Eigenschaftsvariable,
Property - Methode Prozedur, Methode
17Gemeinsamkeiten Lingo-Java
- Erstellung neuer Instanzen mit new
- Wird eine Instanz mit new angelegt, wird eine
Referenz (Speicheradresse) auf diese Instanz
zurückgegeben - Methoden und Eigenschaftsvariablen (Properties)
- Einfachvererbung
- Automatische Speicherreservierung
- Verdecken von Methoden
18Unterschiede Lingo-Java
- Keine Klassenvariablen
- Keine echte Kapselung
- Keine Interfaces
- Vererbung funktioniert auf Instanz Basis, nicht
auf Klassenbasis - Vererbung ist dynamisch
- Basis Klassen müssen keine Parent Skripte sein
(auch Xtra, Sprites...) - Keine abstrakten Klassen
- Kein Überladen
- Parent Skripte erben nicht automatisch von einer
Basis Klasse - Keine Klassenbibliothek
19Zusammenfassung
- Programmiersprachen wurden für unterschiedliche
Probleme entwickelt - Programmiersprachen entwickeln sich neuen
Anforderungen gemäß weiter - Skriptsprachen werden nicht kompiliert
- Multimedia-Anwendungen stellen spezifische
Anforderungen - Anforderungen einer Multimedia-Anwendung lassen
sich gut durch objektorientierte Programmierung
realisieren - Autorensysteme sind Anwendungsgeneratoren mit
integrierten Skriptsprachen spezialisiert auf die
Erstellung von Multimedia-Anwendungen - Integrierte Skriptsprachen in Autorensystemen
unterstützen inTeilen die Umsetzung von
objektorientierten Konzepten - Der Vergleich von Lingo und Java ergab
Gemeinsamkeiten und Unterschiede
20- Vielen Dank für Ihre Aufmerksamkeit!
- Literatur
- Allenson et al. Director 8.5 Studio
- Steinmetz, R. Multimedia-Technologie
- Goll, J. et al Java als erste Programmiersprache
- Balzert, H. Lehrbuch Grundlagen der Informatik
- Poetzsch-Heffter, A. Konzepte objektorientierter
Programmierung - Rechenberg, Pomberger Informatik Handbuch
- Online-Quellen
- Grundlagen der Programmierung I und II VFH
Studienmodul, TFH Berlin - Autorensysteme VFH Studienmodul, TFH Berlin
- Dipl.-Kommunikationswirt Stefan Müller
s.mueller_at_tfh-berlin.de www.tfh-berlin.de/smue
ller