Desain
Rencanakan hierarki: pilih dasar abstrak, daftarkan bentuk konkret, tentukan bidang dan metode, serta definisikan operasi polimorfik sederhana.
Desain 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.
Tujuan & cakupan
Tujuan: Membangun hierarki bentuk kecil dengan basis abstract (Shape) dan beberapa bentuk konkret (Circle, Rectangle). Kita akan merancang operasi umum terlebih dahulu, lalu memastikan rencana tersebut dengan prototipe kode kecil.
Bentuk & atribut
Bentuk: Circle (radius), Rectangle (lebar, tinggi). Simpan atribut hanya di tempat yang sesuai: radius di Circle, lebar/tinggi di Rectangle. Kelas dasar menampung kontrak perilaku, bukan semua atribut.
Operasi & polimorfisme
Operasi umum: area() dan perimeter(). Kita mendeklarasikannya di Shape agar setiap Shape dapat menjawab pemanggilan ini. Kemudian, sebuah daftar Shape dapat menampung objek Circle dan Rectangle secara bersamaan lalu memprosesnya dengan cara yang seragam.
Kode: rancangan antarmuka
Prototipe 1: Mendefinisikan Shape dengan area dan perimeter, serta Circle sederhana. Ini memeriksa bahwa antarmuka bersama berfungsi untuk satu jenis konkret.
public class Main {
// Minimal API sketch to validate the design
static abstract class Shape {
abstract double area();
abstract double perimeter();
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
}
public static void main(String[] args) {
Shape s = new Circle(2.0);
System.out.println("area=" + s.area());
System.out.println("perimeter=" + s.perimeter());
}
}
Koleksi & pelaporan
Nanti kita akan menyimpan bentuk dalam sebuah daftar dan mencetak ringkasan seperti jenis, area, dan perimeter. Pemformat kecil membuat keluaran tetap mudah dibaca di perangkat seluler: satu bentuk per baris, dibulatkan hingga dua angka desimal.
Kode: daftar bentuk
Prototipe 2: Mencampur Circle dan Rectangle dalam satu larik Shape lalu mencetak setiap elemen. Metode dasar memungkinkan penanganan yang seragam (polimorfisme).
public class Main {
static abstract class Shape {
abstract double area();
abstract double perimeter();
String info() {
// default helper for neat printing
return String.format("area=%.2f, per=%.2f", area(), perimeter());
}
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
public String toString() { return "Circle " + info(); }
}
static class Rectangle extends Shape {
double w, h;
Rectangle(double w, double h) { this.w = w; this.h = h; }
double area() { return w * h; }
double perimeter() { return 2 * (w + h); }
public String toString() { return "Rectangle " + info(); }
}
public static void main(String[] args) {
Shape[] arr = { new Circle(2.0), new Rectangle(3.0, 4.0) };
for (int i = 0; i < arr.length; i = i + 1) {
System.out.println(arr[i]);
}
}
}
Pemeriksaan rancangan dasar
Pemeriksaan singkat: Item mana yang termasuk dalam kelas dasar abstract Shape untuk proyek ini?
Ringkasan
Ringkasan: Kelas dasar mendeklarasikan area dan perimeter. Subkelas menyimpan data khusus bentuk dan menerapkan perhitungannya. Daftar Shape memungkinkan kita mencetak berbagai bentuk dalam satu perulangan.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Desain” gratis?
Ya — teks lengkap “Desain” 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 “Desain”?
Rencanakan hierarki: pilih dasar abstrak, daftarkan bentuk konkret, tentukan bidang dan metode, serta definisikan operasi polimorfik sederhana. 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 “Desain” 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.