Junior
Hansı proqramlaşdırma prinsipi generiklərin istifadəsinə imkan verir?
sobes.tech Süni İntellekt
AI-dan cavab
Alt tiplərin alt növləri.
Swift-də generiklər parametrik çox biçimliliyi həyata keçirir, bu da kodu əvvəlcədən bilmədən müxtəlif tiplərlə işləməyə imkan verir, lakin bu tiplərin müəyyən məhdudiyyətlərə (məsələn, protokollara) uyğun olmasını tələb edir.
Generiklərin istifadəsinə nümunə:
// Eyni növ T qəbul edən və T protokola uyğun olmalı olan generik funksiya tərifi.
func areEqual<T: Equatable>(_ a: T, _ b: T) -> Bool {
return a == b
}
// Int ilə generik funksiyanın istifadəsi
let intResult = areEqual(5, 5) // true
// String ilə generik funksiyanın istifadəsi
let stringResult = areEqual("hello", "world") // false
Generik-struktura nümunəsi (stack):
// Hər hansı bir tip T elementlərini saxlaya bilən "Stack" adlı generik strukturun tərifi.
struct Stack<T> {
private var elements: [T] = []
mutating func push(_ element: T) {
elements.append(element)
}
mutating func pop() -> T? {
return elements.popLast()
}
}
// Int ilə generik strukturun istifadəsi
var intStack = Stack<Int>()
intStack.push(1)
intStack.push(2)
let poppedInt = intStack.pop() // 2
// String ilə generik strukturun istifadəsi
var stringStack = Stack<String>()
stringStack.push("A")
stringStack.push("B")
let poppedString = stringStack.pop() // "B"
Generiklərin istifadəsinin üstünlükləri:
- Tip təhlükəsizliyi: Kompilyator, tipleri tərtib zamanı yoxlayır, bu da işləmə zamanı səhvlərin ehtimalını azaldır.
- Kodun təkrar istifadəsi: Eyni kod müxtəlif tiplərlə işləyə bilər.
- Performans: Tip çevirmələrinə ehtiyac yoxdur.
- Abstraksiya: Xüsusi məlumat tiplərindən soyutlamağa imkan verir.