Swift polimorfizm


ULASHISH

Swift polimorfizm

Bog‘liq tiplarga vorislik yoki protokolga moslik (conformance) orqali bir xil tarzda munosabatda bo‘ling.

Metodlarni qayta aniqlang va dinamik dispetcherlashga (dynamic dispatch) tayaning.


Oddiy polimorfizm

Bog‘liq tiplarga bir xil tarzda munosabatda bo‘lish uchun vorislikdan foydalaning.

Misol

class Animal { func speak() { print("...") } }
class Dog: Animal { override func speak() { print("Woof") } }
class Cat: Animal { override func speak() { print("Meow") } }

let animals: [Animal] = [Dog(), Cat()]
animals.forEach { $0.speak() }

O‘zingiz sinab ko‘ring »



Protokol polimorfizmi

Bog‘liq bo‘lmagan tiplarga bir xil tarzda munosabatda bo‘lish uchun protokoldan foydalaning.

Misol

protocol Speaker { func speak() }
struct Dog: Speaker { func speak() { print("Woof") } }
struct Cat: Speaker { func speak() { print("Meow") } }

let speakers: [Speaker] = [Dog(), Cat()]
speakers.forEach { $0.speak() }

O‘zingiz sinab ko‘ring »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!