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