Perbezaan Antara Warisan Dan Komposisi

Perbezaan Antara Warisan Dan Komposisi
Perbezaan Antara Warisan Dan Komposisi

Video: Perbezaan Antara Warisan Dan Komposisi

Video: Perbezaan Antara Warisan Dan Komposisi
Video: Aktif (2021) | Minda (Ep 17) - Fobia 2024, November
Anonim

Warisan vs Komposisi

Warisan dan Komposisi adalah dua konsep penting yang terdapat dalam OOP (Object Oriented Programming). Secara ringkas, Komposisi dan Warisan berurusan dengan memberikan sifat atau tingkah laku tambahan kepada kelas. Pewarisan adalah kemampuan untuk kelas mewarisi harta dan tingkah laku dari kelas induk dengan memperluasnya. Sebaliknya, Komposisi adalah kemampuan kelas untuk memuat objek dari kelas yang berbeza sebagai data ahli.

Apa itu Warisan?

Seperti yang disebutkan di atas, Warisan adalah kemampuan untuk kelas mewarisi harta dan tingkah laku dari kelas induk dengan memperluasnya. Warisan pada dasarnya menyediakan penggunaan semula kod dengan membenarkan pengembangan sifat dan tingkah laku kelas yang ada oleh kelas yang baru ditakrifkan. Sekiranya kelas A meluas B, maka kelas B disebut kelas induk (atau kelas super) dan kelas A disebut kelas anak (atau kelas turunan / kelas bawah). Dalam senario contoh ini, kelas A akan mewarisi semua atribut dan kaedah awam dan dilindungi kelas super (B). Subkelas boleh menggantikan pilihan (memberikan fungsi baru atau diperluas kepada kaedah) tingkah laku yang diwarisi dari kelas induk.

Warisan mewakili hubungan "is-a" dalam OOP. Ini pada dasarnya bermaksud bahawa A juga adalah B. Dengan kata lain, B boleh menjadi kelas dengan gambaran umum mengenai entiti dunia nyata tertentu tetapi A menentukan pengkhususan tertentu. Dalam masalah pengaturcaraan dunia nyata, kelas Person dapat diperluas untuk membuat kelas Employee. Ini dipanggil pengkhususan. Tetapi anda juga boleh membuat kelas Pekerja dan kemudian menggeneralisasikannya ke kelas Person juga (iaitu generalisasi). Dalam contoh ini, Pekerja akan memiliki semua sifat dan tingkah laku Orang tersebut (iaitu Pekerja juga Orang) dan mungkin mengandungi beberapa fungsi tambahan (jadi, Orang itu bukan Pekerja) juga.

Apa itu Komposisi?

Komposisi adalah kemampuan kelas untuk memuat objek dari kelas yang berbeza sebagai data ahli. Contohnya, kelas A boleh mengandungi objek kelas B sebagai ahli. Di sini, semua kaedah awam (atau fungsi) yang ditentukan dalam B dapat dilaksanakan dalam kelas A. Kelas A menjadi wadah, sementara kelas B menjadi kelas yang dibendung. Komposisi juga disebut sebagai Kontena. Dalam contoh ini, dapat dikatakan bahawa kelas A terdiri dari kelas B. Dalam OOP, Komposisi mewakili hubungan "has-a". Penting untuk diperhatikan bahawa, walaupun wadah mempunyai akses untuk melaksanakan semua kaedah umum dari kelas yang terkandung, ia tidak dapat mengubah atau memberikan fungsi tambahan. Ketika datang ke masalah pengaturcaraan dunia nyata, objek kelas TextBox mungkin terkandung dalam kelas Form,dan dengan demikian dapat dikatakan bahawa Borang mengandungi TextBox (atau sebagai alternatif, Form terdiri dari TextBox).

Apakah perbezaan antara Warisan dan Komposisi?

Walaupun Warisan dan Komposisi adalah dua konsep OOP, mereka agak berbeza dengan apa yang mereka dapat capai oleh pengaturcara. Pewarisan adalah kemampuan untuk kelas mewarisi harta dan tingkah laku dari kelas induk dengan memperluasnya, sementara Komposisi adalah kemampuan kelas untuk memuat objek dari kelas yang berlainan sebagai data anggota. Sekiranya kelas dilanjutkan, ia mewarisi semua sifat / tingkah laku awam dan dilindungi dan tingkah laku tersebut mungkin akan diganti oleh subkelas. Tetapi jika kelas terkandung di dalam kelas yang lain, kontena tersebut tidak dapat mengubah atau menambahkan tingkah laku pada yang terkandung. Warisan mewakili hubungan "is-a" dalam OOP, sementara Komposisi mewakili hubungan "has-a".

Disyorkan: