Apa itu Komposisi di Java Dengan Contoh

Diterbitkan: 2021-04-09

Java adalah bahasa serbaguna yang mendukung pemrograman berorientasi objek dan penggunaan kembali kode dengan membangun hubungan antara dua kelas. Ada dua jenis hubungan atau asosiasi di Java yang digunakan untuk menggunakan kembali kode dan mengurangi duplikasi dari satu kelas ke kelas lainnya.

Hubungan tersebut adalah IS-A (Warisan) dan HAS-A (Asosiasi). Meskipun ada hubungan yang erat antara kelas IS-A, kelas HAS-A digabungkan secara longgar dan lebih disukai untuk programmer.

Hubungan HAS-A dibagi menjadi dua jenis, yaitu agregasi dan komposisi di Jawa . Artikel ini didasarkan pada konsep komposisi OOP . Kita akan melihat banyak contoh kehidupan nyata tentang bagaimana komposisi dikodekan dan keuntungan yang diperoleh saat diimplementasikan.

Daftar isi

Narasi Singkat Asosiasi atau Hubungan di Jawa

Dalam pemrograman berorientasi objek, objek terkait satu sama lain dan menggunakan fungsionalitas umum di antara mereka. Di sinilah topik Warisan, Asosiasi, Agregasi, dan Komposisi dalam program Java datang.

Warisan (IS-A) dan Asosiasi (HAS-A) di Jawa

1. Warisan (IS-A)

Hubungan IS-A menandakan bahwa satu objek adalah tipe objek lainnya. Ini diimplementasikan menggunakan kata kunci 'memperluas' dan 'menerapkan'.

Contoh: Laptop HP IS-A

2. Asosiasi (HAS-A)

Sebuah hubungan HAS-A menandakan bahwa suatu kelas memiliki hubungan dengan kelas lain. Misalnya, Kelas A memegang referensi Kelas B dan dapat mengakses semua properti kelas B.

Contoh: Tubuh manusia MEMILIKI Hati

Sumber

Sumber

3. Agregasi Vs Komposisi

Has-A relationship atau Association dapat dibagi menjadi agregasi dan komposisi. Kelas wadah agregasi dan kelas yang direferensikan dapat memiliki keberadaan yang independen. Kelas referensi komposisi tidak bisa ada jika kelas kontainer dihancurkan.

Mari kita ambil contoh untuk memahami agregasi dan komposisi. Sebuah mobil memiliki bagian-bagiannya misalnya mesin, roda, pemutar musik, dll. Mobil tidak dapat berfungsi tanpa mesin dan roda tetapi dapat berfungsi tanpa pemutar musik. Di sini mesin dan mobil memiliki hubungan komposisi, dan mobil dan pemutar musik memiliki hubungan agregasi. Dalam kasus Agregasi, sebuah objek dapat eksis tanpa menjadi bagian dari objek utama.

Sumber

Komposisi di Jawa

Komposisi di Java antara dua objek yang terkait satu sama lain ada ketika ada hubungan yang kuat antara satu kelas dengan kelas lainnya. Kelas lain tidak dapat ada tanpa pemilik atau kelas induk. Misalnya, kelas 'Manusia' adalah komposisi Jantung dan paru-paru . Ketika objek manusia mati, tidak ada bagian yang ada.

Komposisi adalah bentuk Agregasi terbatas. Dalam Komposisi, satu kelas menyertakan kelas lain dan bergantung padanya sehingga tidak dapat secara fungsional ada tanpa kelas lain.

Implementasi Komposisi di Java

Hubungan mesin dan mobil diimplementasikan menggunakan kelas Java seperti di bawah ini. Di Java, kata kunci 'final' digunakan untuk merepresentasikan Komposisi. Ini karena objek 'Pemilik' mengharapkan objek bagian tersedia dan berfungsi dengan menjadikannya 'final' .

mobil kelas umum {

mesin mesin akhir pribadi ;

mobil umum (){

mesin = mesin baru ();

}

}

mesin kelas {

tipe String pribadi ;

}

Mari kita ambil contoh lain yang menggambarkan pewarisan dan komposisi.

Sumber

Dalam program ini, kelas Honda adalah Mobil dan merupakan perluasan dari kelas Mobil. Objek mesin mobil digunakan di kelas Honda.

kelas CarEngine {

public void StartEngine(){

System.out.println(“ Mesin mobil telah menyala .”);

}

public void stopEngine(){

System.out.println(“ Mesin mobil mati .”);

}

}

mobil kelas {

warna String pribadi;

private int maxi_Speed;

public void carDetails(){

System.out.println(“Warna Mobil= “+warna + “; Kecepatan Maksimum= ” + maxi_Speed);

}

//Mengatur warna mobil

public void setColor(Warna string) {

this.color = warna;

}

//Mengatur Kecepatan mobil maksimum

public void setMaxiSpeed(int maxi_Speed) {

this.maxi_Speed ​​= maxi_Speed;

}

}

kelas Honda memperluas Mobil{

kekosongan publik HondaStart(){

Mesin Mobil Honda_Mesin = Mesin Mobil baru(); //komposisi

Honda_Engine.startEngine();

}

}

kelas publik Utama {

public static void main(String[] args) {

Honda Honda Jazz = Honda baru();

HondaJazz.setColor(“Hitam”);

HondaJazz.setMaxSpeed(160);

HondaJazz.carDetails();

HondaJazz.HondaStart();

}

}

Keluaran:

Warna Mobil = Hitam; Kecepatan Maksimum = 160

Mesin mobil sudah dinyalakan.

Outputnya diturunkan menggunakan komposisi dan menampilkan detail mobil Honda Jazz.

Denotasi Asosiasi UML

Hubungan asosiasi, agregasi, dan komposisi di Java antara kelas A dan B direpresentasikan sebagai berikut dalam diagram UML:

Asosiasi: A—->B

Komposisi: A—–<diisi>B

Agregasi: A—–<>B

Dapatkan gelar Rekayasa Perangkat Lunak secara online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Manfaat Komposisi di Jawa

Menggunakan teknik desain komposisi di Java menawarkan keuntungan sebagai berikut:

  1. Itu selalu layak untuk "lebih memilih komposisi objek daripada pewarisan kelas". Kelas mencapai polimorfisme dan penggunaan kembali kode dengan komposisi.
  2. Komposisinya fleksibel, di mana Anda dapat mengubah implementasi kelas saat run-time dengan mengubah objek yang disertakan, dan mengubah perilakunya.
  3. Desain berbasis komposisi memiliki jumlah kelas yang lebih sedikit.
  4. Hubungan “HAS-A” antar kelas secara semantik benar daripada hubungan “IS-A”.
  5. Komposisi di Java menawarkan kemampuan pengujian kelas yang lebih baik yang sangat berguna dalam pengembangan berbasis pengujian.
  6. Dimungkinkan untuk mencapai "warisan ganda" dalam bahasa dengan menyusun beberapa objek menjadi satu.
  7. Dalam komposisi, tidak ada konflik antara metode atau nama properti.

Kesimpulan

Komposisi di Java menawarkan banyak keuntungan saat pemrograman dan merupakan salah satu metode desain yang disukai. Dalam artikel ini, kami telah mencoba membuat Anda memahami konsep penting ini dengan contoh kehidupan nyata dan kode praktis. Komposisi menawarkan fleksibilitas dan kode yang kuat. Fitur penggunaan kembali kodenya membantu menghindari duplikasi kode dan mencapai efektivitas biaya. Ini menjadikannya salah satu metode yang banyak digunakan dalam berbagai program.

Pelajari komposisi di Jawa dengan Master of Science upGrad dalam kursus Ilmu Komputer yang bertujuan untuk membuat Anda belajar dan meningkatkan keterampilan Anda dalam pengembangan perangkat lunak.

kelayakan

Gelar sarjana AB dengan nilai 50% atau setara. Tidak diperlukan pengalaman pengkodean awal.

harga

Biaya program mulai dari Rs.13, 095/bulan untuk Penduduk India dan USD 5999 untuk penduduk Internasional.

Dapatkan Pekerjaan Impian Anda

Mendaftar untuk Magister Sains dalam Pembelajaran Mesin & AI