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

To check your solution you need to sign in
Sign in to continue