Bibliotheksverwaltung mit Klassenvererbung

Swift Medium classes

Aufgabe «Bibliotheksverwaltung mit Klassenvererbung»

Erstellen Sie eine Klasse LibraryItem mit den Feldern title (String), year (Int) und einer Methode description(), die einen String der Form "Title: \(title), Year: \(year)" zurückgibt. Erstellen Sie dann eine Klasse Book, die von LibraryItem erbt, mit einem zusätzlichen Feld author (String). Überschreiben Sie die Methode description() so, dass sie einen String der Form "Book: \(title) by \(author), \(year)" zurückgibt. Im Hauptprogramm lesen Sie 6 Zeilen ein: zuerst 3 Zeilen zum Erstellen eines LibraryItem-Objekts (Titel, Jahr), dann 3 Zeilen zum Erstellen eines Book-Objekts (Titel, Jahr, Autor). Geben Sie die Ergebnisse des Aufrufs von description() für jedes Objekt in separaten Zeilen aus. Es ist garantiert, dass das Jahr eine ganze Zahl ist.

Eingabeformat

Sechs Zeilen: die erste Zeile ist der Titel des ersten Objekts (LibraryItem), die zweite ist das Jahr des ersten Objekts, die dritte ist der Titel des zweiten Objekts (Book), die vierte ist das Jahr des zweiten Objekts, die fünfte ist der Autor des zweiten Objekts, die sechste ist eine leere Zeile (wird nicht verwendet).

Ausgabeformat

Zwei Zeilen: die erste ist das Ergebnis von description() für LibraryItem, die zweite ist das Ergebnis von description() für Book.

Beispiele

Beispiel 1

EINGABE
7 ADD Война и мир Толстой 1869 ADD Преступление и наказание Достоевский 1866 ADD Анна Каренина Толстой 1877 FIND_AUTHOR Толстой FIND_YEAR 1870 FIND_AUTHOR Пушкин
AUSGABE
Title: Война и мир, Year: 1869 Book: Преступление и наказание by Достоевский, 1866

Beispiel 2

EINGABE
6 add 1984 GeorgeOrwell 1949 add BraveNewWorld AldousHuxley 1932 find GeorgeOrwell borrow 1984 borrow 1984 find GeorgeOrwell
AUSGABE
Title: add, Year: 1984 Book: BraveNewWorld by AldousHuxley, 1932
main.swift