Strumenti Musicali
Stai sviluppando un'applicazione per gestire l'inventario degli strumenti di un'orchestra musicale. Devi modellare diversi tipi di strumenti musicali e le loro azioni.
Ti viene richiesto di creare una classe
MusicInstrument
che abbia due attributi: name
e type
. Questa classe deve anche avere un metodo play()
che stampa "Playing the instrument".Successivamente, crea una classe
Guitar
che eredita dalla classe MusicInstrument
(la chitarra è di type
String
. Questo dovrebbe essere impostato automaticamente nell'__init__
di Guitar
). Questa classe dovrebbe avere un metodo tune()
che stampa "Tuning the guitar". Il metodo play()
nella classe Guitar
dovrebbe prima chiamare il metodo tune()
e poi chiamare play()
dalla classe genitore usando super()
.Crea una classe
Violin
allo stesso modo della classe Guitar
(anche il violino è di type
String
). Il metodo tune()
dovrebbe stampare "Tuning the violin".Infine, crea una classe
Piano
che eredita anch'essa dalla classe MusicInstrument
(il pianoforte è di type
Keyboard
). La classe Piano
dovrebbe sovrascrivere il metodo play()
, ma non dovrebbe essere accordato quando viene suonato.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: Gli attributi
name
e type
dello strumento devono essere passati come parametri al costruttore della classe durante l'instanziazione. Il metodo play()
dovrebbe essere chiamato senza alcun parametro.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB