Generic sınıf
- Kotlin kursu
- Orta seviye
- Ders 47/116
- 5 dk
class Box<T> ile generic sınıf öğrenirsin.
Generic sınıf
Bir generic sınıf, tür parametresi alan bir sınıftır. class Box<T> biçiminde tanımlanır; T herhangi bir türün yerini tutar.
Örnek: class Box<T>(val value: T). Bu sınıf Box<Int>(5) ya da Box<String>("merhaba") biçiminde kullanılır. T tür parametresidir; çağrı sırasında somut bir türle değiştirilir. Generic sınıflar tekrar kullanılabilirliği artırır; aynı mantığı farklı türler için yazmanı sağlar. Tür güvenliği derleme zamanında denetlenir.
Box kullanımı
Bir generic sınıf çağrılırken somut tür köşeli parantez içinde verilir. T bu türle değiştirilir.
Örnek: val intBox = Box<Int>(5); val strBox = Box<String>("merhaba"). intBox.value bir Int, strBox.value bir String'tir. Tür parametresi çağrı sırasında belirlenir; yanlış tür kullanımı derleme hatası verir. Bu, çalışma zamanı hatalarını azaltır. Generic sınıflar koleksiyonlar, sarmalayıcılar ve depolarda yaygın kullanılır.
Uygulama Box<T> generic sınıfı
class Box<T>(val value: T) generic sınıfını tanımla. main içinde val intBox = Box<Int>(42) bildir ve println(intBox.value) ile değerini yazdır.
Başlangıç kodu
// Box<T> generic sınıfı tanımı
// value: T özelliği ile
// main'de Int ile örnekle ve yazdırÖrnek çözüm
class Box<T>(val value: T)
fun main() {
val intBox = Box<Int>(42)
println(intBox.value)
}Beklenen çıktı
42
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir <strong>generic sınıf</strong> nasıl tanımlanır?
- class Box(T)
- class Box<T extends T>
- class Box<T> Doğru cevap
- class Box: T
Açıklama: generic sınıf class Box<T> biçiminde yazılır.
2 generic Box tanımını tamamla
class Box____(val value: T)
class Box<T>(val value: T)
Açıklama: <T> tür parametresi köşeli parantez içinde yazılır.
3 generic Box parçalarını eşle
| Kavram | Anlamı |
|---|---|
class Box<T> |
Sınıf tanımı |
val value: T |
Tür parametreli özellik |
Box<Int>(5) |
Somut tür çağrısı |
intBox.value |
Erişim |