1 / 20

Probevorlesung

Technische Fachhochschule Berlin. University of Applied Sciences. Vergleich objektorientierter Programmiersprachen (OOP) mit Skriptsprachen von Autorensystemen zur Erstellung multimedialer Software. Probevorlesung. Vorüberlegungen. Vorgehen: Matrix - Anforderungen der gestellten Aufgabe

clancy
Download Presentation

Probevorlesung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technische Fachhochschule Berlin University of Applied Sciences Vergleich objektorientierter Programmiersprachen (OOP) mit Skriptsprachen von Autorensystemen zur Erstellung multimedialer Software Probevorlesung

  2. Vorüberlegungen • Vorgehen: • Matrix - Anforderungen der gestellten Aufgabe • Beispiel einer Anwendung / Vergleich der Lösungen • Bildet das Ergebnis eine Entscheidungsgrundlage? • Rahmenbedingungen betrachten • Abstraktion und Eingrenzung

  3. Gliederung Vergleich objektorientierter Programmiersprachen (OOP) mit Skriptsprachen von Autorensystemen zur Erstellung multimedialer Software

  4. Programmiersprachen (Auswahl) • ImperativeProgrammiersprachen • ObjektorientierteProgrammiersprachen • DeklarativeProgrammiersprachen

  5. Anwendungsgebiete 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

  6. Skriptsprachen • Ursprünglich mit kleinem Sprachumfang • Zugeschnitten auf ein spezielles Aufgabengebiet • Multimedia-Präsentation • Webanwendungen • Skriptsprachen werden nicht kompiliert

  7. Compiler

  8. Interpreter • Längere Laufzeit des Programms • Unterstützung bei der interaktiven Programmentwicklung • Plattformunabhängigkeit

  9. Abstraktionsebenen Multimedia-Anwendung Abstraktion von der Hardware Abstraktion von der Anwendung Framework oder Bibliothek System-Software Gerätetreiber Multimedia-Hardware-Geräte

  10. Anforderungen 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

  11. Objektorientierung • 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

  12. Objekt / Instanz 0009860 Instanz Variable: Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Objekt / Instanz 0007450 Instanz Variable: Punktzahl Erzeugen einer Instanz der Klasse xy Objekt / Instanz 0003360 Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Instanz Variable: Punktzahl Beispiel Punktezähler Vorlage / Klasse

  13. Bonus erhöhe um 500 Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Punktezähler Punktzahl erhöhe um 10 setze auf 0 ermittle Punktzahl Vererbung und Kapselung Objekt / Instanz Vorlage / Klasse 0009860 Erzeugen einer Instanz der Klasse xy Objekt / Instanz 0007450 vererben Objekt / Instanz 0003360 Super Klasse

  14. Anwendungsgenerator Abstraktionsebenen Multimedia-Anwendung Abstraktion von der Hardware Abstraktion von der Anwendung Framework oder Bibliothek System-Software Gerätetreiber Multimedia-Hardware-Geräte

  15. Macromedia 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

  16. Lingo 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

  17. Gemeinsamkeiten 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

  18. Unterschiede 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

  19. Zusammenfassung • 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.-KommunikationswirtStefan Müller s.mueller@tfh-berlin.de www.tfh-berlin.de/smueller

More Related