Apa itu Komposisi di Jawa? Dengan Contoh

Diterbitkan: 2023-01-27

Daftar isi

Dasar-dasar Asosiasi di Jawa:

Asosiasi dapat didefinisikan dalam Java sebagai interkoneksi antara dua kelas individual menggunakan objek mereka yang berbeda. Jenis-jenis relasi yang dikelola oleh asosiasi Java adalah:

  • One-to-one: Hanya ada satu kelas turunan untuk setiap kelas induk.
  • One-to-many: Kelas induk tunggal dapat memiliki lebih dari satu kelas anak.
  • Banyak-ke-satu: Kelas anak tunggal dapat dikaitkan dengan lebih dari satu kelas super.
  • Banyak-ke-banyak: Sejumlah kelas induk dapat dikaitkan dengan kelas anak tunggal dan lebih banyak jumlah kelas anak dapat dikaitkan dengan kelas induk tunggal.

Setelah hubungan dibuat, kelas turunan berkomunikasi dengan kelas dasar masing-masing untuk menggunakan kembali karakteristik dan propertinya. Ada dua jenis asosiasi di Jawa. Mereka adalah agregasi dan komposisi.

Agregasi di Jawa adalah proses yang lebih umum dibandingkan dengan komposisi. Bentuk-bentuk ini didasarkan pada jenis hubungan yang didukung antara kelas.

Pengantar Komposisi di Jawa:

Teknik perancangan di Java yang mengimplementasikan hubungan Has-A disebut sebagai komposisi. Proses pewarisan digunakan untuk menggunakan kembali kode. Komposisi di Java dapat diselesaikan dengan menggunakan variabel instan yang merujuk ke objek lain. Jika suatu objek merupakan objek lain sedemikian rupa sehingga objek konstituen tidak dapat eksis tanpa kelangsungan objek utama, jenis hubungan tersebut disebut sebagai komposisi. Untuk lebih spesifiknya, komposisi adalah aspek yang menggambarkan referensi antara dua kelas atau lebih dengan bantuan variabel instan. Di sini, instance harus dibuat sebelum menggunakan variabel instan. Mari kita ambil contoh Perpustakaan untuk pemahaman yang jelas tentang konsep 'komposisi'.

Ada banyak buku di perpustakaan. Setiap buku memiliki pengarang dan judul yang berbeda. Perpustakaan juga harus memiliki daftar referensi buku di dalamnya. Perpustakaan juga memiliki beberapa buku yang terkait dengan mata pelajaran yang sama atau mata pelajaran yang beragam. Di sini, perpustakaan sesuai dengan kelas utama dan buku dapat dikaitkan dengan kelas turunan. Asosiasi atau hubungan antara buku dan perpustakaan dapat dikatakan sebagai komposisi. Ini karena kelas "Buku" sepenuhnya bergantung pada perpustakaan kelas. Misalnya, jika perpustakaan dimusnahkan, maka semua buku yang ada di dalamnya juga ikut musnah.

Lihat kursus teknologi gratis kami untuk mendapatkan keunggulan dalam persaingan.

Jelajahi Kursus Rekayasa Perangkat Lunak Populer kami

Master of Science dalam Ilmu Komputer dari LJMU & IIITB Program Sertifikat Keamanan Siber Caltech CTME
Kamp Pelatihan Pengembangan Tumpukan Penuh Program PG di Blockchain
Program PG Eksekutif dalam Pengembangan Stack Penuh
Lihat Semua Kursus kami Di Bawah Ini
Kursus Rekayasa Perangkat Lunak

Penjelasan rinci tentang Komposisi di Jawa:

Komposisi adalah bentuk asosiasi Jawa. Kedua kelas yang berkomunikasi saling terkait dengan kuat, di mana kelas turunan sepenuhnya bergantung pada kelas induk. Keberadaan independen dari kelas turunan tidak dimungkinkan dalam kasus ini. Misalnya, mesin tanpa mobil tidak dapat berdiri sendiri. Jenis asosiasi ini sangat dibatasi dibandingkan dengan agregasi. Komposisi adalah teknik desain dan jangan disamakan dengan fitur Java.

Komposisi dapat digunakan untuk memodelkan objek yang memiliki objek lain sebagai anggota penyusunnya. Ada hubungan has-a antara objek-objek ini. Dalam tipe asosiasi ini, satu objek berisi objek lainnya. Oleh karena itu, objek konstituen sepenuhnya bergantung pada objek utama untuk kelangsungan hidupnya. Jadi, jika objek yang dikandungnya rusak, objek penyusunnya juga terpengaruh. Oleh karena itu, hubungan komposisi dapat dilihat sebagai bagian dari keseluruhan hubungan di mana tidak mungkin adanya bagian tanpa keseluruhan. Dengan kata lain, bagian tersebut secara otomatis dihapus pada penghapusan keseluruhan. Ini menyiratkan bahwa keseluruhan memiliki hubungan yang kuat dengan bagian.

Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top Dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Keterampilan Pengembangan Perangkat Lunak Dalam Permintaan

Kursus JavaScript Kursus Inti Java Kursus Struktur Data
Kursus Node.js Kursus SQL Kursus pengembangan tumpukan penuh
Kursus NFT Kursus DevOps Kursus Data Besar
Kursus React.js Kursus Keamanan Cyber Kursus Komputasi Awan
Kursus Desain Database Kursus Python Kursus Cryptocurrency

Bagaimana warisan berbeda dari komposisi di Jawa?

Penting untuk dicatat bahwa fungsi pewarisan juga dapat dilakukan dengan menggunakan komposisi di Java. Meskipun pewarisan dan komposisi digunakan untuk menawarkan penggunaan kembali kode oleh kelas terkait, ada perbedaan halus di antara keduanya. Perbedaan utama antara kedua proses tersebut adalah komposisi adalah teknik desain, tidak seperti pewarisan yang merupakan fitur Java. Perbedaan utama lainnya antara keduanya tercantum dalam tabel di bawah ini.

Parameter

Komposisi

Warisan

Dasar Ini menggabungkan hubungan HAS-A. Ini menggabungkan hubungan IS-A.
Penggunaan kembali kode Kode dapat digunakan kembali di beberapa kelas. Penggunaan kembali kode hanya dimungkinkan dalam satu kelas karena hanya satu antarmuka yang dapat diperluas oleh satu kelas.
Cakupan Hal ini dapat dengan mudah dicapai pada saat runtime. Fitur-fiturnya lebih baik dicapai pada waktu kompilasi.
Terakhir Ini memfasilitasi penggunaan kembali kode bahkan dari kelas akhir. Kode dari kelas akhir tidak dapat digunakan kembali dalam kasus pewarisan.
Metode Metodenya tidak diekspos. Antarmuka publik digunakan untuk interaksi mereka. Inheritance memaparkan metode yang dilindungi dan publik dari kelas dasar.

Perbedaan antara Agregasi dan Komposisi:

Pengumpulan

Komposisi

Ini adalah jenis asosiasi Java yang lemah. Ini adalah jenis asosiasi yang lebih kuat jika dibandingkan dengan agregasi.
Kelas turunan tidak tergantung pada kelas dasar. Oleh karena itu, kelas turunan dapat terus ada meskipun kelas dasarnya dihancurkan. Kelas turunan sepenuhnya bergantung pada kelas dasar. Oleh karena itu, subclass tidak dapat eksis jika superclass dihancurkan.
Kelas anak memiliki masa hidupnya sendiri. Seumur hidup kelas anak tergantung pada kelas induk.
Kelas induk menggunakan kelas anak dalam tipe asosiasi ini. Oleh karena itu, kelas turunan tidak dimiliki oleh kelas dasar. Dalam tipe asosiasi ini, kelas induk memiliki kelas anak. Oleh karena itu, kelas induk adalah pemilik kelas anak.
Ini merupakan hubungan HAS-A. Kelas turunan memiliki kelas dasar. Itu merupakan bagian dari hubungan. Kelas turunan adalah bagian dari kelas dasar.
Kata kunci terakhir tidak digunakan untuk menunjukkan agregasi. Kata kunci terakhir dapat digunakan untuk menunjukkan komposisi.
Contoh: Mobil itu memiliki pengemudi. Contoh: Mesin adalah bagian dari mobil.

Baca Artikel Populer kami yang terkait dengan Pengembangan Perangkat Lunak

Bagaimana Menerapkan Abstraksi Data di Java? Apa itu Kelas Dalam di Jawa? Pengidentifikasi Java: Definisi, Sintaks, dan Contoh
Memahami Enkapsulasi dalam OOPS dengan Contohnya Argumen Baris Perintah di C Dijelaskan 10 Fitur & Karakteristik Cloud Computing Teratas di Tahun 2022
Polimorfisme di Jawa: Konsep, Jenis, Ciri & Contoh Paket di Jawa & Bagaimana Menggunakannya? Tutorial Git Untuk Pemula: Pelajari Git dari Awal

Keuntungan menggunakan Komposisi di Jawa:

  • Komposisi memfasilitasi penggunaan kembali kode Java.
  • Meskipun banyak pewarisan tidak didukung oleh Java, celah tersebut dapat diisi dengan teknik desain ini.
  • Dengan penggunaan komposisi, suatu kelas dapat diuji kemampuan dengan cara yang lebih baik.
  • Kode dibuat lebih fleksibel dengan penggunaan komposisi. Implementasi kelas tersusun dapat diganti dengan versi yang disempurnakan.
  • Anggota objek dapat diubah saat runtime untuk perubahan dinamis perilaku program dengan menggunakan hubungan komposisi.

Keterbatasan komposisi di Jawa:

Ada beberapa kelemahan menggunakan komposisi di Jawa. Kerugian utama dari komposisi objek adalah lebih sulit bagi pengguna untuk memahami perilaku sistem yang diimplementasikan hanya dengan merenungkan kode sumber. Suatu sistem yang menggunakan komposisi objek bersifat sangat dinamis. Jadi, memahami fungsi dari sistem yang menggunakan komposisi objek memerlukan analisis yang lebih dalam dari kode sumber dan menjalankan kode untuk menyaksikan fungsi dan kerja sama antara masing-masing objek dalam kode sumber.

Jika Anda tertarik untuk mempelajari lebih lanjut tentang Java, pengembangan perangkat lunak full-stack, lihat Program PG Eksekutif upGrad & IIIT-B dalam Pengembangan Perangkat Lunak – Spesialisasi dalam Pengembangan Stack Penuh yang dirancang untuk pekerja profesional dan menawarkan 500+ jam pelatihan ketat , 9+ proyek, dan penugasan, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan terkemuka.

Ingin berbagi artikel ini?

Mempersiapkan Karir Masa Depan

Daftar Sekarang untuk Magister Rekayasa Perangkat Lunak