Музыкальные инструменты
Вы разрабатываете приложение для управления инвентарем инструментов музыкального оркестра. Вам необходимо моделировать различные типы музыкальных инструментов и их действия.
Вам предложено создать класс MusicInstrument
с двумя атрибутами: name
и type
. Этот класс также должен иметь метод play()
, который выводит "Playing the instrument".
Затем создайте класс Guitar
, который наследуется от MusicInstrument
(у гитары type
равен String
. Это должно быть автоматически задано в __init__
класса Guitar
). Этот класс должен иметь метод tune()
, который выводит "Tuning the guitar". Метод play()
в классе Guitar
должен сначала вызывать метод tune()
, а затем вызывать play()
из родительского класса с помощью super()
.
Создайте класс Violin
аналогично классу Guitar
(у него тоже type
равен String
). Метод tune()
должен выводить "Tuning the violin".
Наконец, создайте класс Piano
, который также наследуется от MusicInstrument
(пианино имеет type
Keyboard
). Класс Piano
должен переопределить метод play()
, но при игре его не нужно настраивать.
Input | Output |
---|---|
| Tuning the guitar |
Примечание: Атрибуты name
и type
инструмента должны передаваться в качестве параметров конструктору класса при создании экземпляра. Метод play()
должен вызываться без каких-либо параметров.
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB