Junior — Middle
Existují ve strukturách mechanismy podobné dědičnosti objektů v OOP?
sobes.tech AI
Odpověď od AI
V datechových strukturách obvykle neexistuje žádný přímý mechanismus dědičnosti podobný objektově orientovanému programování. Nicméně v iOS a Swift existují protokoly a kompozice, které umožňují implementaci podobných vzorů.
Například struktury mohou splňovat protokoly, což je podobné implementaci rozhraní, nikoli dědičnosti. To umožňuje vytvářet obecné a rozšiřitelné struktury bez použití tříd.
Příklad:
protocol Drawable {
func draw()
}
struct Circle: Drawable {
func draw() {
print("Kreslíme kruh")
}
}
struct Square: Drawable {
func draw() {
print("Kreslíme čtverec")
}
}
Tímto způsobem mohou struktury implementovat společná rozhraní, což částečně nahrazuje dědičnost.
Pokud je potřeba funkčnost dědičnosti, obvykle se používají třídy.