Sobes.tech
Junior — Middle

Můžete vysvětlit koncept obecných typů v programování?

sobes.tech AI

Odpověď od AI

Obecné typy (generika) umožňují vytvářet komponenty, třídy, funkce nebo struktury, které pracují s různými datovými typy, přičemž zajišťují bezpečnost typů a opakované použití kódu.

Namísto psaní samostatného kódu pro každý typ napíšete jeden obecný kód s parametrem typu. Při použití tohoto kódu specifikujete konkrétní typ, se kterým chcete pracovat.

Například v Swift (iOS) můžete deklarovat obecnou funkci:

generic func swapValues<T>(_ a: inout T, _ b: inout T) {
    let temp = a
    a = b
    b = temp
}

var x = 5
var y = 10
swapValues(&x, &y) // x je nyní 10, y je nyní 5

var s1 = "ahoj"
var s2 = "svět"
swapValues(&s1, &s2) // s1 je nyní "svět", s2 je nyní "ahoj"

Zde je T parametr typu, který může být jakýkoli typ. To umožňuje funkci pracovat s jakýmkoli typem dat, přičemž zachovává bezpečnost typů.

Obecné typy jsou široce používány k vytváření kolekcí, například polí, slovníků atd., kde se může lišit typ prvků.