CodeBlanks Logo Icon CodeBlanks

Özet - Generics

Generic sınıf ve metodu birleştirerek bir Box<T> yazarsın.

Özet - Generics

Bu grupta generic'leri öğrendin: <T> ile generic sınıf ve metot, <T extends Number> ile bounded type, ? extends T ve ? super T wildcard, son olarak type erasure. Generic'ler derleme zamanında tip güvenliği sağlar; runtime'da tür silinir.

Bu özette hepsini birleştirip bir Box<T> sınıfı ve Box.of generic fabrika metodu yazacağız. Generic sınıfın özelliklerini, generic metodun tür çıkarımını ve diamond operator'ı birlikte göreceksin.

Uygulama Box<T> sınıfı ve Box.of metodu

class Box<T> tanımla; T value alanı, Box(T value) kurucusu ve static <T> Box<T> of(T value) generic fabrika metodu olsun; gövdesi return new Box<>(value);. main içinde Box<String> b = Box.of("Defter"); ile örnekle ve System.out.println(b.value); ile yazdır.

Başlangıç kodu

Main.java
// Box<T> generic sınıfını tanımla (T value alanı, kurucu)

// Box.of generic metodunu ekle

// main: Box.of çağrısı ile örnekle ve println ile yazdır

Örnek çözüm

Main.java
class Box<T> {
    T value;
    Box(T value) { this.value = value; }
    static <T> Box<T> of(T value) {
        return new Box<>(value);
    }
}

public class Main {
    public static void main(String[] args) {
        Box<String> b = Box.of("Defter");
        System.out.println(b.value);
    }
}

Beklenen çıktı

Defter

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Generic'lerin temel faydası nedir?

  • Derleme zamanında tip güvenliği sağlaması Doğru cevap
  • Runtime'da tür bilgisini saklaması
  • Daha hızlı kod çalıştırması
  • Reflection'ı kaldırması

Açıklama: Generic'ler derleme zamanında tip güvenliği sağlar; runtime'da tür silinir.

2 Generic fabrika metodunu tamamla

Soru
static <T> Box____ of(T value) {
    return new Box<>(value);
}
Cevap
static <T> Box<T> of(T value) {
    return new Box<>(value);
}

Açıklama: <T> Box sınıfının tür parametresini döndürür.

3 Generics özetini eşleştir

Kavram Anlamı
<T> Tür parametresi
<T extends Number> Sınırlandırılmış tür
? extends T Üretken joker
Box.of Generic fabrika metodu

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