Musikinstrumente
Sie entwickeln eine Anwendung zur Verwaltung des Instrumentenbestands eines Orchesters. Dabei müssen Sie verschiedene Arten von Musikinstrumenten und deren Aktionen modellieren.
Ihre Aufgabe ist es, eine Klasse
MusicInstrument
zu erstellen, die zwei Attribute besitzt: name
und type
. Diese Klasse sollte außerdem eine Methode play()
haben, die "Playing the instrument" ausgibt.Erstellen Sie anschließend eine Klasse
Guitar
, die von der Klasse MusicInstrument
erbt (Gitarre hat den type
String
, welcher automatisch im __init__
von Guitar
gesetzt werden sollte). Diese Klasse sollte eine Methode tune()
haben, die "Tuning the guitar" ausgibt. Die Methode play()
in der Klasse Guitar
sollte zuerst die Methode tune()
aufrufen und dann mit super()
die play()
-Methode der Elternklasse aufrufen.Erstellen Sie auf ähnliche Weise eine Klasse
Violin
wie die Klasse Guitar
(sie hat ebenfalls den type
String
). Die Methode tune()
sollte "Tuning the violin" ausgeben.Abschließend erstellen Sie eine Klasse
Piano
, die ebenfalls von der Klasse MusicInstrument
erbt (Klavier hat den type
Keyboard
). Die Klasse Piano
sollte die Methode play()
überschreiben, jedoch sollte das Instrument beim Spielen nicht gestimmt werden.Eingabe | Ausgabe |
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 |
Hinweis: Die Attribute
name
und type
des Instruments sollten beim Instanziieren als Parameter an den Klassenkonstruktor übergeben werden. Die Methode play()
sollte ohne Parameter aufgerufen werden.Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB