Antarmuka dalam Praktik
Gunakan antarmuka sebagai tipe, teruskan ke metode, dan tukar implementasi dengan mudah. Latih pola-pola kecil untuk kode yang fleksibel.
Antarmuka dalam Praktik adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 3 pelajaran total.
Ikhtisar
Antarmuka dalam praktik: perlakukan kemampuan sebagai jenis dan jaga agar kode pemanggil tidak bergantung pada kelas konkret. Anda dapat meneruskan antarmuka ke metode, menyimpannya dalam daftar, dan menggantinya dengan penerapan lain bila diperlukan.
Antarmuka sebagai parameter
Metode yang menerima jenis antarmuka sebagai parameter menjadi lebih fleksibel:
- Kode pemanggil tetap.
- Kelas yang berbeda dapat menerapkan kontrak yang sama dan digunakan.
- Dalam pengujian, Anda dapat memasang Palsu atau Rintisan lalu mencobanya dengan cepat.
Kode: kemampuan Printable
Metode ini menggunakan kontrak Printable, bukan kelas konkret; meskipun penerapannya berubah, kode pemanggil tetap sama.
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());
}
}
Antarmuka sebagai jenis hasil
Terkadang metode pabrik mengembalikan sebuah antarmuka. Pemanggil hanya melihat kemampuannya; pemanggil tidak perlu mengetahui kelas sebenarnya. Ini juga mengurangi ketergantungan dan meningkatkan modularitas.
Kode: Strategi dengan Formatter
Metode yang sama bekerja dengan berbagai penerapan Formatter. Kita dapat mengubah perilaku tanpa mengubah kelas.
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()));
}
}
Kode: daftar antarmuka
Sebuah array/daftar dapat bertipe antarmuka. Perulangan melakukan satu jenis panggilan; setiap elemen menjalankan implementasinya sendiri.
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
}
}
}
Pemeriksaan latihan antarmuka
Pemeriksaan singkat: Mengapa "memprogram berdasarkan antarmuka" itu berguna?
Ringkasan
Ringkasan: Menggunakan tipe antarmuka sebagai parameter, nilai kembalian, atau koleksi membuat kode lebih fleksibel. Anda dapat mengganti implementasi dan mencobanya dengan cepat menggunakan objek tiruan dalam pengujian.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Antarmuka dalam Praktik” gratis?
Ya — teks lengkap “Antarmuka dalam Praktik” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Antarmuka dalam Praktik”?
Gunakan antarmuka sebagai tipe, teruskan ke metode, dan tukar implementasi dengan mudah. Latih pola-pola kecil untuk kode yang fleksibel. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Java Academy?
Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.
Berapa lama pelajaran “Antarmuka dalam Praktik” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?
Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Antarmuka dalam Praktik
- Dasar-Dasar Generik (T, Inferensi)
- Metode/Kelas Generik