MMProg:WiSe2015:Praktikum:Aufgabe 3

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Praktikumsaufgabe 3

Arbeiten mit Objekten und Arrays

Ziel

Ziel dieser Aufgabe ist es die in dem JavaScript-Tutorium vermittelten Grundlagen für Objekte und Arrays zu vertiefen.


Projekt vorbereiten

Anmerkung: Es ist fortan nicht notwendig Subversion über die Kommandozeile zu bedienen. Nutzen Sie dazu einfach WebStorm oder aber TortoiseSVN bzw. svnX.

Legen Sie einen neuen Ordner "aufgabe3" innerhalb Ihres Verzeichnis/Repositories an. Speichern Sie alle Dateien aus dem Lehrveranstaltungsordner "aufgabe3/vorlage" in diesem Ordner ab.

Machen Sie sich mit der Datei "index.js" vertraut und öffnen Sie die Datei "index.html" testweise im Browser.


Charaktere darstellen

Der Code aus der Vorlage enthält ein übergeordnetes View-Objekt, welches beliebig viele Objekt-Views beherbergen kann. Eine Objekt-View rendert alle Eigenschaften eines Objekts mitsamt der Werte und Datentypen in das HTML-Dokument. Mithilfe eines Aufrufs von view.addObjectView() wird für eine beliebiges Objekt eine Objekt-View erzeugt.


Charaktere erzeugen

Bearbeiten Sie nun die "index.js" und erzeugen Sie folgende Personen mit Ihrer Ansicht nach geeigneten Eigenschaften:

  • Bruce Wayne, 40 Jahre alt, vermögend, kleidet sich gerne schwarz, wohnt in Gotham City
  • Clark Kent, 30 Jahre alt, arbeitet als Redakteur, trägt Brille, wohnt in Metropolis
  • Peter Parker, 25 Jahre alt, ist Fotograf, trägt Brille

Fügen Sie diese anschließend zu der View hinzu um eine entsprechende Darstellung der Objekte zu erreichen. Welche Eigenschaften und Datentypen haben Sie für die Personen gewählt? Gibt es sinnvolle Alternativen?


Charaktere modifizieren

Anmerkung: Im Folgenden geht es darum, die zuvor erstellten Objekte nach Ihrer Erzeugung zu modifizieren. Es geht nicht darum Funktionen zu erstellen oder Bedingungen abzufragen.

Die oben erwähnten Charaktere verfügen alle über ein bestimmtes Alter, welches sich über die Zeit verändern soll. Lassen Sie alle Charaktere nach der initialen Erstellung der Objekte um 5 Jahre altern.

Des Weiteren sollte jeder Charakter eine entsprechende Eigenschaft "anrede" besitzen (mögliche Werte: "Herr" und "Frau"). Fügen Sie die korrekte Anrede den Charakterobjekten nach ihrer initialen Erstellung hinzu.

Peter Parker bekommt im Laufe seines Lebens Superkräfte, welche unter anderem dazu führen, dass er keine Brille mehr braucht. Ändern Sie das entsprechende Objekt nachträglich so ab, dass klar ersichtlich ist, dass Peter keine Sehschwäche mehr hat. Gibt es hierfür mehrere Lösungswege? Wenn ja, welcher Unterschied besteht zwischen den Lösungen?

Clark Kent, auch bekannt als Superman, bestizt viele verschiedene Superkräfte, wie z.B. Fliegen, Laseraugen, Röntgenblick. Um den Überblick zu behalten fügen Sie die Eigenschaft "superKräfte" hinzu und speichern Sie die o.g. genannten Werte ab.


Charaktere zusammenfassen

Um leichter mit den Charakterobjekten arbeiten zu können bietet es sich an diese in einem Array abzuspeichern. Erzeugen Sie ein Array-Objekt names "superhelden" und fügen Sie die zuvor erstellten Personen hinzu. Gibt es hierfür unterschiedliche Implementierungsmöglichkeiten?

Für bestimmte Szenarien ist es hilfreich die Initialen von Charakteren zu wissen. Da die Charaktere nun in einem Array sind, iterieren Sie über das Array und weisen Sie jedem Charakter Ihre Initialen zu. Wenden Sie dazu die String-Funktion charAt() mit einem Parameter von 0 auf dem jeweiligen Vor- und Nachnamen an.


Superheldenliste modifizieren

Unter gewissen Umständen würde man Bruce Wayne nicht als Superhelden bezeichnen, da er über keine Superkräfte verfügt. Entfernen Sie ihn aus diesem Grund aus der Liste von Superhelden nachdem Sie die Anrede hinzugefügt haben. Stellen Sie sicher, dass das Array im Anschluss keine Lücken aufweist und eine Länge von 2 besitzt.