Sobes.tech
Junior — Middle

Existujú v štruktúrach mechanizmy podobné dedičstvu objektov v OOP?

sobes.tech AI

Odpoveď od AI

V dátových štruktúrach zvyčajne neexistuje priame dedičstvo, ktoré by bolo podobné objektovo orientovanému programovaniu. Avšak v iOS a Swift existujú protokoly a kompozícia, ktoré umožňujú implementovať podobné vzory.

Napríklad, štruktúry môžu spĺňať protokoly, čo je podobné implementácii rozhraní, nie dedičstvu. To umožňuje vytvárať všeobecné a rozšíriteľné štruktúry bez použitia tried.

Príklad:

protocol Drawable {
    func draw()
}

struct Circle: Drawable {
    func draw() {
        print("Kreslíme kruh")
    }
}

struct Square: Drawable {
    func draw() {
        print("Kreslíme štvorec")
    }
}

Týmto spôsobom môžu štruktúry implementovať spoločné rozhrania, čo čiastočne nahrádza dedičstvo.

Ak je potrebná funkčnosť dedičstva, zvyčajne sa používajú triedy.