Uygulamada Arayüzler
Arayüzleri tür olarak kullanın, yöntemlere aktarın ve uygulamaları kolayca değiştirin. Esnek kod için küçük kalıplar üzerinde pratik yapın.
Uygulamada Arayüzler, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 3 dersinin 1. 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.
Arayüzlerin uygulamadaki kullanımı
Arayüzlerin uygulamadaki kullanımı: Yetenekleri tür olarak ele alın ve çağıran kodu somut sınıflardan bağımsız tutun. Bir yönteme arayüz aktarabilir, onu bir listede saklayabilir ve gerektiğinde farklı bir uygulamayla değiştirebilirsiniz.
Arayüzü parametre olarak kullanma
Yöntemler arayüz türünü parametre olarak alırsa esneklik kazanır:
- Çağıran kod sabit kalır.
- Farklı sınıflar aynı sözleşmeyi uygulayıp kullanılabilir.
- Sınamada taklit veya taslak nesne ekleyip hızlıca deneyebilirsiniz.
Kod: Printable yeteneği
Yöntem, somut sınıfı değil Printable sözleşmesini kullanıyor; uygulamalar değişse de çağıran kod aynı kalır.
public class Main {
// 1) Define a tiny capability
static interface Printable { void print(); }
// 2) Two implementations
static class TextDoc implements Printable {
public void print() { System.out.println("[TextDoc] Printing text pages"); }
}
static class Photo implements Printable {
public void print() { System.out.println("[Photo] Printing a photo"); }
}
// 3) A method that depends on capability, not class
static void runJob(Printable p) {
p.print(); // caller does not care which class it is
}
public static void main(String[] args) {
runJob(new TextDoc());
runJob(new Photo());
}
}
Arayüzü dönüş türü olarak kullanma
Bazen bir fabrika yöntemi bir arayüz döndürür. Çağıran yalnızca yetenekleri görür; gerçek sınıfı bilmesine gerek yoktur. Bu, bağımlılığı azaltır ve modülerliği artırır.
Formatter ile Strategy kodu
Aynı yöntem, farklı Formatter uygulamalarıyla çalışır. Sınıfı değiştirmeden davranışı değiştirebildik.
public class Main {
// Strategy: different ways to format text
static interface Formatter { String format(String s); }
static class UpperFormatter implements Formatter {
public String format(String s) { return s.toUpperCase(); }
}
static class LowerFormatter implements Formatter {
public String format(String s) { return s.toLowerCase(); }
}
// Uses any Formatter
static String show(String title, Formatter f) {
return title + " -> " + f.format(title);
}
public static void main(String[] args) {
System.out.println(show("Hello", new UpperFormatter()));
System.out.println(show("Hello", new LowerFormatter()));
}
}
Kod: Arayüz listesi
Bir dizi/liste, arayüz türünde olabilir. Döngü aynı türde bir çağrı yapar; her öğe kendi uygulamasını çalıştırır.
public class Main {
static interface Task { void run(); }
static class EmailTask implements Task { public void run(){ System.out.println("Send email"); } }
static class ReportTask implements Task { public void run(){ System.out.println("Generate report"); } }
static class CleanupTask implements Task { public void run(){ System.out.println("Clean temp files"); } }
public static void main(String[] args) {
Task[] queue = { new EmailTask(), new ReportTask(), new CleanupTask() };
for (int i = 0; i < queue.length; i = i + 1) {
queue[i].run(); // same call, different behavior
}
}
}
Arayüz alıştırma kontrolü
Hızlı kontrol: “Bir arayüze göre programlamak” neden kullanışlıdır?
Özet
Özet: Arayüz türünü parametrelerde, geri dönüşlerde ve koleksiyonlarda kullanmak kodu esnek kılar. Uygulamaları değiştirebilir, testlerde sahte nesnelerle hızlıca deneyebilirsiniz.
Sıkça Sorulan Sorular
“Uygulamada Arayüzler” dersi ücretsiz mi?
Evet — “Uygulamada Arayüzler” 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.
“Uygulamada Arayüzler” dersinde ne öğreneceğim?
Arayüzleri tür olarak kullanın, yöntemlere aktarın ve uygulamaları kolayca değiştirin. Esnek kod için küçük kalıplar üzerinde pratik yapın. 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 1. dersidir.
“Uygulamada Arayüzler” 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
- Uygulamada Arayüzler
- Jeneriklerin Temelleri (T, tür çıkarımı)
- Jenerik Yöntemler/Sınıflar