Sobes.tech
Junior

Hangi programlama ilkesi jenerikleri kullanmaya izin verir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Alt türlerin alt tipolojisi.

Swift'teki jenerikler, parametreli çok biçimlilik (polimorfizm) uygular, böylece kodu, önceden bilmeksizin farklı türlerle çalışacak şekilde yazmaya izin verir, ancak bu türlerin belirli kısıtlamalara (örneğin, protokollere) uymasını gerektirir.

Jeneriklerin kullanım örneği:

// Aynı tür T'yi alan ve T'nin Equatable protokolüne uyması gereken iki parametre alan jenerik bir fonksiyon tanımı.
func areEqual<T: Equatable>(_ a: T, _ b: T) -> Bool {
    return a == b
}

// Int ile jenerik fonksiyonun kullanımı
let intResult = areEqual(5, 5) // true

// String ile jenerik fonksiyonun kullanımı
let stringResult = areEqual("hello", "world") // false

Jenerik yapı örneği (yığın):

// Herhangi bir tür T'nin öğelerini depolayabilen jenerik "Stack" yapısının tanımı.
struct Stack<T> {
    private var elements: [T] = []

    mutating func push(_ element: T) {
        elements.append(element)
    }

    mutating func pop() -> T? {
        return elements.popLast()
    }
}

// Int ile jenerik yapının kullanımı
var intStack = Stack<Int>()
intStack.push(1)
intStack.push(2)
let poppedInt = intStack.pop() // 2

// String ile jenerik yapının kullanımı
var stringStack = Stack<String>()
stringStack.push("A")
stringStack.push("B")
let poppedString = stringStack.pop() // "B"

Jeneriklerin kullanmanın avantajları:

  • Tür güvenliği: Derleyici, derleme sırasında türleri kontrol eder, böylece çalışma zamanında hataların olasılığını azaltır.
  • Kod tekrar kullanılabilirliği: Aynı kod, farklı türlerle çalışabilir.
  • Performans: Çalışma zamanında tür dönüşümüne gerek yoktur.
  • Soyutlama: Belirli veri türlerinden soyutlanmayı sağlar.