Երաժշտական գործիքներ
Դուք հավելված եք մշակում երաժշտական նվագախմբի գործիքների գույքագրումը կառավարելու համար: Դուք պետք է մոդելավորեք տարբեր տեսակի երաժշտական գործիքներ և որոշակի գործողություններ:
Ձեզանից պահանջվում է ստեղծել
MusicInstrument
class, որն ունի երկու ատրիբուտ՝ name
և type
: Այս class-ը պետք է ունենա նաև play()
մեթոդ, որը տպում է "Playing the instrument"։Որպես հաջորդ քայլ՝ ստեղծեք
Guitar
class-, որը ժառանգում է MusicInstrument
class-ից (կիթառի տիպը պետք է լինի՝ type
- String
): Այս class-ը պետք է ունենա tune()
մեթոդ, որը տպում է "Tuning the guitar": Guitar
class-ի play()
մեթոդը նախ պետք է կանչի tune()
մեթոդը, այնուհետև ծնող class-ից կանչի play()
՝ օգտագործելով super()
:Ստեղծեք
Violin
class-ն այնպես, ինչպես ստեղծեցիք Guitar
class-ը (այն նույնպես պետք է ունենա type
- String
):Վերջապես, ստեղծեք
Piano
class, որը ժառանգում է MusicInstrument
class-ից (այն պետք է ունենա type
- Keyboard
): Piano class-ը պետք է փոփոխի play()
մեթոդը, բայց այն չպետք է կարգավորվի նվագելիս:Ծրագիրը պետք է ստեղծի
Guitar
, Violin
և Piano
class-ների օբյեկտներ, կանչի դրանց 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
ատրիբուտները պետք է որպես պարամետր փոխանցվեն class-ի կոնստրուկտորին: play()
մեթոդի կանչը պետք է տեղի ունենա առանց որևէ պարամետրի:Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB