Warisan vs. Komposisi: Memahami Perbezaan
Walaupun istilah "warisan" dan "komposisi" sering digunakan secara bergantian, ia mewakili asasnya perhubungan yang berbeza dalam pengaturcaraan.
Warisan: The Hubungan "Is-A"
Warisan ialah hubungan "is-a", di mana kelas anak mewarisi sifat dan kaedah kelas induknya. Ini membayangkan hubungan langsung antara kedua-dua kelas, mencadangkan bahawa kanak-kanak "adalah-seorang" jenis ibu bapa.
Komposisi: Hubungan "Ada-A"
Komposisi, sebaliknya, ialah hubungan "mempunyai-a", di mana satu kelas mengandungi contoh kelas lain sebagai medan. Ia tidak membayangkan sambungan hierarki sebaliknya mewakili pergantungan antara kedua-dua kelas. Rujukan kelas yang mengandungi "mempunyai-a" kepada kelas yang dirujuk.
Melaksanakan Komposisi dalam Java
Untuk melaksanakan gubahan dalam Java, cuma buat contoh kelas yang dirujuk sebagai medan dalam kelas yang mengandungi. Contohnya:
class Car { private Engine engine; public Car() { engine = new Engine(); } }
Dalam contoh ini, kelas Kereta menyusun tika kelas Enjin, mewujudkan hubungan "mempunyai-a" di mana Kereta mempunyai enjin.
Kelebihan Komposisi Daripada Pewarisan
Kompos sering diutamakan daripada pewarisan kerana ia memberikan fleksibiliti yang lebih besar dan mengelakkan perangkap warisan. Contohnya:
Bahan Rujukan
Untuk maklumat lanjut ke dalam perbezaan antara warisan dan gubahan, rujuk sumber berikut:
Atas ialah kandungan terperinci Warisan atau Komposisi: Bilakah Anda Harus Memilih Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!