Pewarisan Berbilang dalam Java
Java tidak mempunyai warisan berbilang tradisional, di mana kelas boleh mewarisi daripada berbilang superclass. Ini menimbulkan cabaran apabila memodelkan entiti dengan berbilang senario warisan. Contoh klasik ialah Pegasus, makhluk mitos yang mewarisi sifat daripada kedua-dua burung dan kuda.
Satu penyelesaian kepada masalah ini ialah mencipta antara muka untuk kelas asas (cth., Haiwan, Burung dan Kuda) dan mempunyai kelas kanak-kanak (cth., Pegasus) melaksanakan antara muka ini. Ini membolehkan kelas kanak-kanak mewarisi tingkah laku daripada berbilang kelas asas.
public interface Animal {} public interface Bird extends Animal {} public interface Horse extends Animal {} public class Pegasus implements Bird, Horse { }
Pendekatan ini membenarkan penciptaan objek untuk burung dan kuda dengan melaksanakan antara muka masing-masing:
public class BirdImpl implements Bird {} public class HorseImpl implements Horse {}
Sebagai alternatif, seseorang boleh mencipta kelas abstrak yang mewakili tingkah laku yang dikongsi dan meminta kelas kanak-kanak melanjutkan kelas abstrak itu sambil melaksanakan yang diperlukan antara muka:
public abstract class AbstractAnimal implements Animal {} public class HorseImpl extends AbstractAnimal implements Horse {} public class PegasusImpl extends AbstractAnimal implements Bird, Horse {}
Dengan menggunakan antara muka dan kelas abstrak, seseorang boleh mencapai berbilang warisan tanpa melanggar sekatan warisan tunggal Java. Ini membolehkan pemodelan fleksibel perhubungan warisan yang kompleks.
Atas ialah kandungan terperinci Bagaimanakah Java Mengendalikan Warisan Berbilang Tanpa Warisan Berbilang Benar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!