Лабораторная работа 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()
— проверят очередь на пустоту.