0Pricing
Dart Academy · Pelajaran

Komposisi daripada Pewarisan

Mengutamakan desain has-a jika sesuai

Komposisi daripada Pewarisan adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.

Dua Cara Menggunakan Kembali Kode

Anda dapat menggunakan kembali perilaku dengan mewarisinya atau dengan menyimpan objek lain. Pendekatan kedua disebut komposisi.

is-a vs has-a

Pewarisan memodelkan is-a: Circle adalah Shape. Komposisi memodelkan has-a: Car memiliki Engine.

Kelas yang Menggunakan Komposisi

Dengan komposisi, Anda menyimpan pembantu sebagai properti dan mendelegasikan pekerjaan kepadanya, alih-alih memperluasnya.

class Car {
  final Engine engine = Engine();
}

Mendelegasikan Perilaku

Kelas luar meneruskan pemanggilan kepada objek di dalamnya. Delegasi ini menggunakan kembali logika tanpa pewarisan.

class Car {
  final engine = Engine();
  void start() => engine.ignite();
}

Masalah Kelas Dasar yang Rapuh

Pewarisan yang mendalam rentan rusak. Perubahan pada induk dapat secara diam-diam merusak subkelas yang jauh, sebuah jebakan yang dikenal sebagai kelas dasar yang rapuh.

Fleksibilitas Saat Runtime

Komposisi memungkinkan Anda menukar objek di dalamnya kapan saja. Pewarisan bersifat tetap setelah dibuat, tetapi sebuah properti dapat berubah.

class Car {
  Engine engine;
  Car(this.engine);
}

Gabungkan dengan Antarmuka

Padukan komposisi dengan antarmuka: bergantunglah pada tipe Engine abstrak agar mesin apa pun yang sesuai dapat digunakan dengan rapi.

abstract class Engine {
  void ignite();
}

Lebih Mudah Diuji

Karena bagian-bagiannya merupakan objek terpisah, Anda dapat memasukkan objek palsu dalam pengujian. Komposisi membuat pembuatan tiruan menjadi sederhana dan alami.

var car = Car(FakeEngine());

Hindari Mewarisi Hal yang Tidak Tepat

Subkelas mewarisi setiap anggota, bahkan yang seharusnya tidak mereka tampilkan. Komposisi hanya membagikan hal-hal yang Anda pilih untuk didelegasikan.

Saat Pewarisan Tetap Lebih Unggul

Pewarisan tepat untuk hubungan is-a yang jelas dengan identitas bersama. Gunakan komposisi ketika hubungan tersebut sebenarnya adalah has-a.

Aturan Praktis

Utamakan komposisi secara default dan gunakan pewarisan dengan hemat. Dengan begitu, rancangan tetap memiliki keterikatan longgar dan mudah diubah nanti. 🧩

Pemeriksaan Singkat

Satu pertanyaan singkat tentang komposisi.

Ringkasan

Komposisi memodelkan has-a dengan menyimpan objek lain dan mendelegasikan pekerjaan kepadanya. Pendekatan ini tetap fleksibel dan mudah diuji, sedangkan pewarisan cocok untuk hubungan is-a yang jelas. 👍

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Komposisi daripada Pewarisan” gratis?

Ya — teks lengkap “Komposisi daripada Pewarisan” 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 “Komposisi daripada Pewarisan”?

Mengutamakan desain has-a jika sesuai 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 4 dari 4.

Berapa lama pelajaran “Komposisi daripada Pewarisan” 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

  1. Class Abstrak dan Metode Abstrak
  2. Interface Implisit dan implements
  3. Polimorfisme melalui Tipe Bersama
  4. Komposisi daripada Pewarisan
← Kembali ke Dart Academy