Instrumentos Musicais
Está a desenvolver uma aplicação para gerir o inventário de instrumentos de uma orquestra musical. Precisa de modelar diferentes tipos de instrumentos musicais e as suas ações.
Foi-lhe pedido para criar uma classe
MusicInstrument
que tem dois atributos: name
e type
. Esta classe deve também ter um método play()
que imprime "Playing the instrument".Em seguida, crie uma classe
Guitar
que herda da classe MusicInstrument
(Guitarra é do type
String
. Isto deve ser definido automaticamente no __init__
de Guitar
). Esta classe deve ter um método tune()
que imprime "Tuning the guitar". O método play()
na classe Guitar
deve primeiro chamar o método tune()
e depois chamar play()
da classe pai usando super()
.Crie uma classe
Violin
da mesma forma que a classe Guitar
(também é do type
String
). O método tune()
deve imprimir "Tuning the violin".Por fim, crie uma classe
Piano
que também herda da classe MusicInstrument
(Piano é do type
Keyboard
). A classe Piano
deve sobrescrever o método play()
, mas não deve ser afinado quando tocado.Input | Output |
guitar = Guitar('Gibson'); violin = Violin('Stradivarius'); piano = Piano('Steinway'); guitar.play(); violin.play(); piano.play(); print(guitar.type); print(violin.type); print(piano.type) | Tuning the guitar
Playing the instrument
Tuning the violin
Playing the instrument
Playing the instrument
String
String
Keyboard |
Nota: Os atributos
name
e type
do instrumento devem ser passados como parâmetros para o construtor da classe durante a instanciação. O método play()
deve ser chamado sem quaisquer parâmetros.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB