Perbezaan Antara Pewarisan dan Gubahan

Perbezaan Antara Pewarisan dan Gubahan
Perbezaan Antara Pewarisan dan Gubahan

Video: Perbezaan Antara Pewarisan dan Gubahan

Video: Perbezaan Antara Pewarisan dan Gubahan
Video: Bagaimana Parlimen Malaysia Berfungsi 2024, Disember
Anonim

Warisan vs Komposisi

Pewarisan dan Komposisi ialah dua konsep penting yang terdapat dalam OOP (Pengaturcaraan Berorientasikan Objek). Secara ringkas, kedua-dua Komposisi dan Warisan berurusan dengan menyediakan sifat atau tingkah laku tambahan kepada kelas. Warisan ialah keupayaan kelas untuk mewarisi sifat dan tingkah laku daripada kelas induk dengan memanjangkannya. Sebaliknya, Komposisi ialah keupayaan kelas untuk mengandungi objek kelas yang berbeza sebagai data ahli.

Apakah itu Warisan?

Seperti yang dinyatakan di atas, Warisan ialah keupayaan kelas untuk mewarisi sifat dan tingkah laku daripada kelas induk dengan melanjutkannya. Warisan pada dasarnya menyediakan penggunaan semula kod dengan membenarkan melanjutkan sifat dan tingkah laku kelas sedia ada oleh kelas yang baru ditakrifkan. Jika kelas A memanjangkan B, maka kelas B dipanggil kelas induk (atau kelas super) dan kelas A dipanggil kelas anak (atau kelas terbitan/sub kelas). Dalam senario contoh ini, kelas A akan mewarisi semua atribut awam dan dilindungi serta kaedah kelas super (B). Subkelas boleh menggantikan (menyediakan fungsi baharu atau lanjutan kepada kaedah) tingkah laku yang diwarisi daripada kelas induk.

Warisan mewakili perhubungan “is-a” dalam OOP. Ini pada asasnya bermakna bahawa A juga adalah B. Dalam erti kata lain, B boleh menjadi kelas dengan penerangan umum entiti dunia sebenar tertentu tetapi A menentukan pengkhususan tertentu. Dalam masalah pengaturcaraan dunia sebenar, kelas Orang boleh dilanjutkan untuk mencipta kelas Pekerja. Ini dipanggil pengkhususan. Tetapi anda juga boleh membuat kelas Pekerja dahulu dan kemudian menyamaratakannya kepada kelas Orang juga (i.e. generalisasi). Dalam contoh ini, Pekerja akan mempunyai semua sifat dan tingkah laku Orang tersebut (iaitu Pekerja juga Orang) dan mungkin mengandungi beberapa fungsi tambahan (jadi, Orang itu bukan Pekerja) juga.

Apakah itu Komposisi?

Komposisi ialah keupayaan kelas untuk mengandungi objek kelas berbeza sebagai data ahli. Sebagai contoh, kelas A boleh mengandungi objek kelas B sebagai ahli. Di sini, semua kaedah awam (atau fungsi) yang ditakrifkan dalam B boleh dilaksanakan dalam kelas A. Kelas A menjadi bekas, manakala kelas B menjadi kelas terkandung. Komposisi juga dirujuk sebagai Containership. Dalam contoh ini, boleh dikatakan bahawa kelas A terdiri daripada kelas B. Dalam OOP, Komposisi mewakili hubungan "mempunyai-a". Adalah penting untuk ambil perhatian bahawa, walaupun bekas mempunyai akses untuk melaksanakan semua kaedah awam kelas yang terkandung, ia tidak dapat mengubah atau menyediakan fungsi tambahan. Apabila ia datang kepada masalah pengaturcaraan dunia sebenar, objek kelas TextBox mungkin terkandung dalam Borang kelas, dan dengan itu boleh dikatakan bahawa Borang mengandungi TextBox (atau sebagai alternatif, Borang terdiri daripada TextBox).

Apakah perbezaan antara Warisan dan Gubahan?

Walaupun Pewarisan dan Komposisi ialah dua konsep OOP, ia agak berbeza dalam perkara yang membolehkan pengaturcara mencapainya. Warisan ialah keupayaan kelas untuk mewarisi sifat dan tingkah laku daripada kelas induk dengan memanjangkannya, manakala Komposisi ialah keupayaan kelas untuk mengandungi objek kelas yang berbeza sebagai data ahli. Jika kelas dilanjutkan, ia mewarisi semua harta/tingkah laku awam dan dilindungi dan tingkah laku tersebut mungkin ditindih oleh subkelas. Tetapi jika kelas terkandung dalam kelas lain, bekas itu tidak mendapat keupayaan untuk menukar atau menambah tingkah laku pada yang terkandung. Warisan mewakili hubungan "is-a" dalam OOP, manakala Komposisi mewakili hubungan "mempunyai-a".

Disyorkan: