1
Hochschule Harz FB Automatisierung und Informatik iOS:
Klassen
Thema:
Erstellen von Klassen und Protokollen unter iOS und Playground
Versuchsziele:
• Kennenlernen von Klassen und Vererbung
• Erstellen und Implementierung eines Protokolls
• Erstellen und Benutzung eines Arrays (getPreis)
Aufgabe:
Erstellen Sie zwei Klassen-Familien (KFZ und Fahrrad) mit abgeleiteten Klassen. In einer Liste werden Instanzen beider Familien eingetragen. Das funktioniert nur mit einem Protokoll (Interface).
Am Schluss soll vereinfacht der gesamtpreis der Bestellung ermittelt und ausgegeben werden.
Das Kurzskript sollte benutzt werden.
Zur Orientierung:
Die Musterlösung benötigt ohne Leerzeilen 120 Zeilen
1. Klasse KFZ:
• Erstellen Sie die Klassen „KFZ“
o Attribute
Name mit dem Typ String Preis mit dem Typ Double o Konstruktor
Parameter: name, preis
• Testen Sie die Klasse
2. Klasse PKW:
• Erstellen Sie die Klassen „PKW“
o Abgeleitet von KFZ o Attribute
Name mit dem Typ String Preis mit dem Typ Double PS mit dem Typ Int32 o Konstruktor
Parameter: name, preis, ps
• Testen Sie die Klasse
3. Klasse LKW:
• Erstellen Sie die Klassen „LKW“
o Abgeleitet von KFZ o Attribute
Name mit dem Typ String Preis mit dem Typ Double
Ladevolumen mit dem Typ Double o Konstruktor
Parameter: name, preis, ladevolumen
• Testen Sie die Klasse
2
4. Artikelliste
• Erstellen Sie eine leere Liste, in der PKW’s und LKW’s gespeichert werden können.
• Einfügen dreier Instanzen o PKW
„Opel Vectra“, 16300,00 EUR, 123 PS „Opel Adam“, 13300,00 EUR, 165 PS o LKW
„MAN 2000“, 83300,00 EUR, 1234,6 m³ Ladevolumen
• Ausgabe der Elemente der Liste mittels print o print(item)
• Einbau einer Methode, damit die Ausgabe detaillierter wird. Es reicht, wenn die Methode in der Oberklasse eingebaut wird.
5. Protokoll:
• Erstellen Sie ein neues Protokoll „IAtrikel“
o Methoden:
toString() getPreis()
• Fügen Sie das Protokoll in eine, zwei oder drei Klassen ein.
• Implementieren Sie die neuen Methoden.
• Ausgabe der Elemente der Liste mittels toString() o print(artikel)
o Implemenieren Sie möglichst drei Varianten
6. Klasse Fahrrad:
• Erstellen Sie die Klassen „Fahrrad“
o Attribute
Name mit dem Typ String Preis mit dem Typ Double o Konstruktor
Parameter: name, preis o Protokoll
IArtikel o Methoden
die SWIFT.toString-Methode toString
getPreis
• Testen Sie die Klasse
7. Klasse Rennrad:
• Erstellen Sie die Klassen „PKW“
o Abgeleitet von Fahrrad o Attribute
Name mit dem Typ String Preis mit dem Typ Double Gewicht mit dem Typ Double o Konstruktor
Parameter: name, preis, gewicht
• Testen Sie die Klasse
3
8. Klasse Tourenrad:
• Erstellen Sie die Klassen „Tourenrad“
o Abgeleitet von Fahrrad o Attribute
Name mit dem Typ String Preis mit dem Typ Double Gewicht mit dem Typ Double Gepaecktraeger
o Konstruktor
Parameter: name, preis, gewicht, gepaecktraeger Gepaecktraeger ist ein Default-Parameter
• Testen Sie die Klasse
9. Artikelliste
• Erstellen Sie eine leere Liste, in der PKW’s, LKW’s, Rennräder und Fhrräder gespeichert werden können.
• Einfügen fünf Instanzen o PKW
„Opel Vectra“, 16300,00 EUR, 123 PS „Opel Adam“, 13300,00 EUR, 165 PS o LKW
„MAN 2000“, 83300,00 EUR, 1234,6 m³ Ladevolumen o Rennrad
„Peugeot 1200“, 1300,00 EUR, 7 kg o Tourenrad
„Quelle 123“, 300,00 EUR, 11,5 kg
• Ausgaben
o der Elemente der Liste mittels print print(item)
o der Anzahl der Element print(liste2.??????)
o Bestimmen Sie den Gesamtpreis der Bestellung, inklusive der Ausgabe.