0Pricing
Java Academy · Ders

Jenerik Yöntemler/Sınıflar

Tür parametreleriyle jenerik sınıflar tanımlayın ve dönüş türünden önce <T> yazarak jenerik yöntemler oluşturun. Tür çıkarımının nerede yardımcı olduğunu öğrenin.

Jenerik Yöntemler/Sınıflar, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 3 dersten oluşur.

Genel bakış

Jenerik sınıflar, tek bir tasarımı birçok tür için yeniden kullanır; jenerik metotlar ise jenerik olmayan sınıfların içinde bile tür parametreleriyle çalışır. Küçük bir Pair<T,U>, bir swap metodu ve statik bir fabrika oluşturacağız.

Jenerik sınıflar neden kullanılır?

Sınıfı neden jenerik yaparız?

  • Tek tasarım, çok tür: tekrarı azaltır.
  • Tür güvenliği: yanlış türler derleme sırasında yakalanır.
  • Temiz arayüz: dönüşlerde tür dönüşümü gerekmez.

Kod: Pair<T,U>

Pair<T,U> aynı sınıfı iki farklı türle kullanır. Tür dönüşümü gerekmez; arayüz nettir.

public class Main {
  // Simple generic data holder with two type parameters
  static class Pair<T, U> {
    private final T first;
    private final U second;
    Pair(T first, U second) { this.first = first; this.second = second; }
    T first() { return first; }
    U second() { return second; }
    public String toString() { return "Pair(" + first + ", " + second + ")"; }
  }

  public static void main(String[] args) {
    Pair<String, Integer> p = new Pair<>("age", 21);
    System.out.println(p);
    System.out.println(p.first() + " -> " + p.second());
  }
}

Jenerik metotlar: imza

Jenerik metotlar, sınıfın jenerik olup olmamasından bağımsız çalışır. İmza: <T> returnType... Örnek: <T> T firstOrDefault(T[] arr, T def).

Kod: jenerik swap

<T> metot düzeyinde tanımlanmıştır; bu nedenle farklı dizilerle çalışır. Çağırırken tür belirtmedik, derleyici tür çıkarımı yaptı.

public class Main {
  // Generic utility method: swap two indices of an array of any reference type
  static <T> void swap(T[] arr, int i, int j) {
    T tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp;
  }

  public static void main(String[] args) {
    String[] names = { "Ada", "Bob", "Cyd" };
    swap(names, 0, 2); // works with String[]
    for (int k = 0; k < names.length; k = k + 1) {
      System.out.print(names[k] + (k < names.length - 1 ? " " : "\n"));
    }
  }
}

Kod: statik jenerik fabrika

Statik jenerik fabrika: of(T v) çağrısında tür çıkarımı yapılır. Kullanımı temiz ve okunaklıdır.

public class Main {
  static class Box<T> {
    private final T value;
    private Box(T v) { this.value = v; }
    public T get() { return value; }
    // Static generic factory method inside a generic class
    public static <T> Box<T> of(T v) { return new Box<T>(v); }
  }

  public static void main(String[] args) {
    // Type inferred by diamond and method generic parameter
    Box<Integer> bi = Box.of(42);
    Box<String> bs = Box.of("hi");
    System.out.println(bi.get() + 1);
    System.out.println(bs.get().toUpperCase());
  }
}

Jenerik metotlar kontrolü

Hızlı kontrol: Jenerik bir metodu doğru biçimde nasıl bildirirsiniz?

Özet

Özet: Jenerik sınıflar (Pair<T,U>) tekrarı azaltır; jenerik metotlar (<T> imzası) sınıftan bağımsız çalışır. Tür çıkarımı çağrıları sadeleştirir.

Sıkça Sorulan Sorular

“Jenerik Yöntemler/Sınıflar” dersi ücretsiz mi?

Evet — “Jenerik Yöntemler/Sınıflar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 3 dersten oluşur.

“Jenerik Yöntemler/Sınıflar” dersinde ne öğreneceğim?

Tür parametreleriyle jenerik sınıflar tanımlayın ve dönüş türünden önce <T> yazarak jenerik yöntemler oluşturun. Tür çıkarımının nerede yardımcı olduğunu öğrenin. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Java Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.

“Jenerik Yöntemler/Sınıflar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Uygulamada Arayüzler
  2. Jeneriklerin Temelleri (T, tür çıkarımı)
  3. Jenerik Yöntemler/Sınıflar
← Java Academy Sayfasına Dön