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