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

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