楽器

あなたは音楽オーケストラの楽器在庫を管理するアプリケーションを開発しています。さまざまな種類の楽器とその動作をモデル化する必要があります。
nametypeの2つの属性を持つMusicInstrumentクラスを作成するよう求められています。このクラスには、"Playing the instrument"と表示するplay()メソッドも含めてください。
次に、MusicInstrumentクラスを継承するGuitarクラスを作成します(ギターのtypeStringであり、これはGuitar__init__で自動的に設定されるべきです)。このクラスには、"Tuning the guitar"と表示するtune()メソッドを持たせます。Guitarクラスのplay()メソッドは、まずtune()メソッドを呼び出し、その後super()を使用して親クラスのplay()を呼び出す必要があります。
同様に、Guitarクラスと同じ方法でViolinクラスを作成します(こちらもtypeStringです)。tune()メソッドは"Tuning the violin"と表示するようにしてください。
最後に、MusicInstrumentクラスを継承するPianoクラスを作成します(ピアノのtypeKeyboardです)。Pianoクラスはplay()メソッドをオーバーライドしますが、演奏時にチューニングする必要はありません。
入力
出力
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
注意: 楽器のnametype属性は、インスタンス化時にクラスのコンストラクタにパラメータとして渡す必要があります。play()メソッドはパラメータなしで呼び出してください。
 

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