Junior — Middle
Оё имкон дорад, ки объект протоколро дар забони барномасозӣ мустақиман эҷод кард?
sobes.tech AI
Ҷавоб аз AI
Дар Swift (забонҳои барномасозӣ барои iOS), протоколҳо маҷмӯи талаботҳоро (усулҳо, хосиятҳо) тасвир мекунанд, ки як навъ бояд иҷро кунад. Тарзи мустақим сохтани намунаи протокол имконнопазир аст, зеро протокол худ дорои иҷроиш нест.
Аммо, агар як синф ё сохтор протоколро иҷро кунад, шумо метавонед намунаи он навъро созед ва бо он тавассути истинод ба протокол кор кунед.
Масалан:
protocol Drawable {
func draw()
}
class Circle: Drawable {
func draw() {
print("Даҳон кашида мешавад")
}
}
ҳақиқӣ: Drawable = Circle() // сохтани намунаи синф, ки протоколро иҷро мекунад
shape.draw() // фаро гирифтани усули протокол
Агар шумо нияти дошта бошед, ки объекте дошта бошед, ки ба протокол мувофиқат мекунад, аммо намехоҳед синфи мушаххас созед, метавонед намудҳои-обгӯиш ё иҷроишҳои номаълумро истифода баред, аммо сохтани мустақимии намунаи протокол имконнопазир аст.