Управление библиотекой книг с наследованием классов

Swift Средний classes

Задача «Управление библиотекой книг с наследованием классов»

Создайте класс LibraryItem с полями title (String), year (Int) и методом description(), возвращающим строку вида "Title: \(title), Year: \(year)". Затем создайте класс Book, наследующий от LibraryItem, с дополнительным полем author (String). Переопределите метод description() так, чтобы он возвращал строку вида "Book: \(title) by \(author), \(year)". В основной программе прочитайте 6 строк: сначала 3 строки для создания объекта LibraryItem (название, год), затем 3 строки для создания объекта Book (название, год, автор). Выведите результаты вызова description() для каждого объекта на отдельных строках. Гарантируется, что год — целое число.

Формат ввода

Шесть строк: первая строка — название первого объекта (LibraryItem), вторая — год первого объекта, третья — название второго объекта (Book), четвёртая — год второго объекта, пятая — автор второго объекта, шестая — пустая строка (не используется).

Формат вывода

Две строки: первая — результат description() для LibraryItem, вторая — результат description() для Book.

Примеры

Пример 1

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

Пример 2

ВВОД
6 add 1984 GeorgeOrwell 1949 add BraveNewWorld AldousHuxley 1932 find GeorgeOrwell borrow 1984 borrow 1984 find GeorgeOrwell
ВЫВОД
Title: add, Year: 1984 Book: BraveNewWorld by AldousHuxley, 1932
main.swift