Mengapa Warisan Berbilang disokong dalam C++ tetapi tidak dalam Java?
Mengapa Warisan Berbilang disokong dalam C++ tetapi tidak dalam Java?

Video: Mengapa Warisan Berbilang disokong dalam C++ tetapi tidak dalam Java?

Video: Mengapa Warisan Berbilang disokong dalam C++ tetapi tidak dalam Java?
Video: 5 BAHASA PEMROGRAMAN YANG HARUS KAMU PELAJARI UNTUK MEMBUAT GAME! 2024, November
Anonim

C++ , Cacat biasa dan beberapa bahasa lain menyokong pelbagai warisan sementara java tidak sokongan ia. Jawa tidak mengizinkan pusaka berbilang untuk mengelakkan kekaburan yang disebabkan olehnya. Salah satu contoh masalah tersebut ialah masalah berlian yang berlaku di pusaka berbilang.

Oleh itu, mengapa Warisan Berbilang tidak disokong di Jawa?

Jawa menyokong pusaka berbilang melalui antara muka sahaja. Kelas boleh melaksanakan sebarang bilangan antara muka tetapi boleh melanjutkan hanya satu kelas. Pusaka berbilang ialah bukan disokong kerana ia membawa kepada masalah berlian maut. awak tidak mendapat sebarang fungsi daripada antara muka.

Juga, apakah masalah Diamond dalam pelbagai warisan? masalah berlian ” adalah kekaburan yang boleh timbul akibat membenarkan pusaka berbilang . Ia adalah serius masalah untuk bahasa (seperti C++) yang membenarkan pusaka berbilang negeri. Di Jawa, bagaimanapun, pusaka berbilang tidak dibenarkan untuk kelas, hanya untuk antara muka, dan ini tidak mengandungi keadaan.

Begitu juga, orang bertanya, mengapa C++ menyokong pelbagai warisan tetapi C# tidak?

Pusaka berbilang dalam C# C# tidak menyokong pelbagai warisan , kerana mereka beralasan bahawa menambah pusaka berbilang menambahkan terlalu banyak kerumitan kepada C# sambil memberikan manfaat yang terlalu sedikit. Dalam C# , kelas hanya dibenarkan mewarisi daripada kelas induk tunggal, yang dipanggil tunggal harta pusaka.

Bagaimanakah C++ menyokong pelbagai warisan?

Tidak seperti kebanyakan bahasa pengaturcaraan berorientasikan objek lain, C++ membenarkan pusaka berbilang . Pusaka berbilang membolehkan kelas kanak-kanak untuk mewarisi daripada lebih daripada satu kelas induk. Kelas Haiwan dan Reptilia mewarisi daripadanya. Hanya kelas Haiwan mengatasi kaedah breathe().