CodeBlanks Logo Icon CodeBlanks

Generic sınıf

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

Main.kt
// Box<T> generic sınıfı tanımı
// value: T özelliği ile
// main'de Int ile örnekle ve yazdır

Örnek çözüm

Main.kt
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

Soru
class Box____(val value: T)
Cevap
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

Orta seviye bölümündeki tüm dersler