Polimorfisme melalui Tipe Bersama
Memprogram berdasarkan tipe, bukan class
Polimorfisme melalui Tipe Bersama adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. 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 Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.
Makna Polimorfisme
Polimorfisme memungkinkan satu tipe menggantikan banyak tipe. Anda memanggil sebuah metode pada tipe bersama, lalu setiap objek merespons dengan caranya sendiri.
Memprogram untuk Sebuah Tipe
Alih-alih menyebutkan kelas konkret, Anda bergantung pada supertyipe bersama. Kode Anda dapat bekerja dengan apa pun yang sesuai dengan bentuk tersebut.
void render(Shape s) => print(s.area());Tipe Dasar Bersama
Mulailah dengan kelas dasar abstrak yang mendeklarasikan metode umum yang akan disediakan secara berbeda oleh setiap subtipe.
abstract class Shape {
double area();
}Banyak Subtipe, Satu Bentuk
Setiap subtipe mengimplementasikan area dengan caranya sendiri, tetapi semuanya tetap diperlakukan sebagai Shape.
class Circle extends Shape {
double area() => 28.3;
}Pengiriman Dinamis
Saat runtime, Dart memilih metode milik objek sebenarnya. Pengiriman ini berarti pemanggilan yang sama menjalankan kode berbeda untuk setiap objek.
Shape s = Circle();
s.area(); // runs Circle.areaDaftar Berisi Berbagai Bentuk
Karena memiliki tipe yang sama, Anda dapat mengumpulkan objek campuran dalam satu daftar dan memperlakukannya secara seragam.
List<Shape> shapes = [Circle(), Square()];Perulangan Secara Polimorfik
Satu perulangan menangani setiap bentuk. Anda tidak perlu membuat percabangan berdasarkan kelas konkret; area yang tepat akan langsung dijalankan.
for (var s in shapes) {
print(s.area());
}Terbuka untuk Ekstensi
Tambahkan subtipe Shape yang benar-benar baru nanti, dan perulangan yang sudah ada akan langsung menggunakannya. Polimorfisme menjaga kode tetap terbuka untuk berkembang.
class Triangle extends Shape {
double area() => 12.0;
}Antarmuka Bekerja dengan Cara yang Sama
Tipe bersama juga dapat berasal dari implementasi. Kelas apa pun yang mengimplementasikan antarmuka dapat langsung digunakan oleh kode yang sama.
void log(Printable p) => p.printOut();Tidak Perlu Pemeriksaan Tipe
Kode polimorfik yang baik jarang menggunakan pemeriksaan tipe. Tipe bersama sudah menjamin bahwa metode tersebut ada, sehingga logika tetap bersih.
Mengapa Ini Penting
Polimorfisme menghilangkan rangkaian if-else dan switch yang panjang serta berulang. Anda menulis kode fleksibel yang menyesuaikan diri dengan tipe baru tanpa perlu diedit. 🌱
Pemeriksaan Singkat
Satu pertanyaan singkat tentang polimorfisme.
Ringkasan
Polimorfisme berarti memprogram untuk tipe bersama, sementara setiap objek berperilaku dengan caranya sendiri. Polimorfisme membuat kode tetap fleksibel dan terbuka untuk subtipe baru. ✨
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Polimorfisme melalui Tipe Bersama” gratis?
Ya — teks lengkap “Polimorfisme melalui Tipe Bersama” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Polimorfisme melalui Tipe Bersama”?
Memprogram berdasarkan tipe, bukan class Kamu berlatih Dart 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 Dart Academy?
Tidak diperlukan pengalaman sebelumnya. Dart 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 3 dari 4.
Berapa lama pelajaran “Polimorfisme melalui Tipe Bersama” 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 Dart Academy ini?
Ya. Setiap pelajaran Dart 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
- Class Abstrak dan Metode Abstrak
- Interface Implisit dan implements
- Polimorfisme melalui Tipe Bersama
- Komposisi daripada Pewarisan