Perbedaan Antara Warisan Dan Komposisi

Perbedaan Antara Warisan Dan Komposisi
Perbedaan Antara Warisan Dan Komposisi

Video: Perbedaan Antara Warisan Dan Komposisi

Video: Perbedaan Antara Warisan Dan Komposisi
Video: Jangan asal sebut Warisan! Kamu harus tau apa bedanya Waris & Hibah & Wasiat & Hibah Wasiat 2024, April
Anonim

Warisan vs Komposisi

Warisan dan Komposisi adalah dua konsep penting yang ditemukan dalam OOP (Pemrograman Berorientasi Objek). Secara sederhana, baik Komposisi maupun Warisan berurusan dengan penyediaan properti atau perilaku tambahan ke kelas. Pewarisan adalah kemampuan kelas untuk mewarisi properti dan perilaku dari kelas induk dengan memperluasnya. Di sisi lain, Komposisi adalah kemampuan kelas untuk memuat objek dari kelas yang berbeda sebagai data anggota.

Apa itu Warisan?

Seperti disebutkan di atas, Inheritance adalah kemampuan kelas untuk mewarisi properti dan perilaku dari kelas induk dengan memperluasnya. Inheritance pada dasarnya menyediakan penggunaan ulang kode dengan mengizinkan perluasan properti dan perilaku kelas yang ada dengan kelas yang baru ditentukan. Jika kelas A meluas B, maka kelas B disebut kelas induk (atau kelas super) dan kelas A disebut kelas anak (atau kelas turunan / sub kelas). Dalam contoh skenario ini, kelas A akan mewarisi semua atribut publik dan dilindungi serta metode kelas super (B). Subclass secara opsional dapat menimpa (menyediakan fungsionalitas baru atau diperpanjang ke metode) perilaku yang diwarisi dari kelas induk.

Pewarisan merepresentasikan hubungan "is-a" dalam OOP. Ini pada dasarnya berarti bahwa A juga adalah B. Dengan kata lain, B dapat menjadi kelas dengan gambaran umum dari entitas dunia nyata tertentu tetapi A menentukan spesialisasi tertentu. Dalam masalah pemrograman dunia nyata, kelas Orang dapat diperpanjang untuk membuat kelas Karyawan. Ini disebut spesialisasi. Tapi Anda juga bisa membuat kelas Employee terlebih dahulu dan kemudian menggeneralisasikannya ke kelas Person juga (yaitu generalisasi). Dalam contoh ini, Karyawan akan memiliki semua properti dan perilaku Orang (yaitu Karyawan juga Orang) dan mungkin berisi beberapa fungsi tambahan (jadi, Orang bukan Karyawan) juga.

Apa itu Komposisi?

Komposisi adalah kemampuan kelas untuk memuat objek dari kelas yang berbeda sebagai data anggota. Misalnya, kelas A dapat berisi objek kelas B sebagai anggota. Di sini, semua metode publik (atau fungsi) yang didefinisikan di B dapat dijalankan di dalam kelas A. Kelas A menjadi wadah, sedangkan kelas B menjadi kelas yang terkandung. Komposisi juga disebut sebagai Containership. Dalam contoh ini, dapat dikatakan bahwa kelas A terdiri dari kelas B. Dalam OOP, Komposisi merepresentasikan hubungan “has-a”. Penting untuk diperhatikan bahwa, meskipun penampung memiliki akses untuk mengeksekusi semua metode publik dari kelas yang dimuat, ia tidak dapat mengubah atau menyediakan fungsionalitas tambahan. Ketika sampai pada masalah pemrograman dunia nyata, objek dari kelas TextBox mungkin terdapat dalam Formulir kelas,dan dengan demikian dapat dikatakan bahwa Formulir berisi Kotak Teks (atau alternatif lain, Formulir terdiri dari Kotak Teks).

Apa perbedaan antara Warisan dan Komposisi?

Meskipun Warisan dan Komposisi adalah dua konsep OOP, keduanya sangat berbeda dalam hal yang memungkinkan pemrogram untuk mencapainya. Inheritance adalah kemampuan kelas untuk mewarisi properti dan perilaku dari kelas induk dengan cara memperluasnya, sedangkan Komposisi adalah kemampuan kelas untuk memuat objek dari kelas yang berbeda sebagai data anggota. Jika sebuah kelas diperluas, ia mewarisi semua properti / perilaku publik dan dilindungi dan perilaku tersebut dapat diganti oleh subkelas. Tetapi jika kelas dimuat di kelas lain, wadah tidak mendapatkan kemampuan untuk mengubah atau menambahkan perilaku ke dalam wadah. Pewarisan mewakili hubungan "is-a" di OOP, sedangkan Komposisi mewakili hubungan "memiliki-a".

Direkomendasikan: