Лабораторная работа 14
1. Для создания модели программного обеспечения для книжного магазина необходимо написать родительский класс Book (Книга). Этот класс имеет атрибуты title, price, author (название, цена, автор). Подклассы Fiction, NonFiction и Comic наследуют все атрибуты суперкласса Book. Кроме того, у них есть и свои уникальные атрибуты:
- Fiction –
genre(жанр). - NonFiction –
subject(тема). - Comic –
illustrator(иллюстратор) иseries(серия).
2. Рассмотрим объект «Программист», который задаётся именем, должностью и количеством отработанных часов. Каждая должность имеет собственный оклад (заработную плату за час работы). В нашей импровизированной компании существуют 3 должности:
- Junior — с окладом 10 тугриков в час;
- Middle — с окладом 15 тугриков в час;
- Senior — с окладом 20 тугриков в час по умолчанию и +1 тугрик за каждое новое повышение.
Напишите класс Programmer, который инициализируется именем и должностью (отработка у нового работника равна нулю). Класс реализует следующие методы:
work(time)— отмечает новую отработку в количестве часовtime;rise()— повышает программиста;info()— возвращает строку для бухгалтерии в формате: <имя> <количество отработанных часов>ч. <накопленная зарплата>тгр.
3. Реализуйте класс Stack, который не имеет параметров инициализации, но поддерживает методы:
push(item)— добавить элемент в конец стека;pop()— «вытащить» первый элемент из стека;is_empty()— проверяет стек на пустоту.
4. Реализуйте класс Queue, который не имеет параметров инициализации, но поддерживает методы:
push(item)— добавить элемент в конец очереди;pop()— «вытащить» первый элемент из очереди;is_empty()— проверят очередь на пустоту.