Assalamualaikum wrwb..
seringkali dalam bahasa pemrograman Object Oriented, kita melakukan hubungan antara satu objek dengan object lainnya..
Berikut ini merupakan beberapa contoh hubungan yaitu Agregasi, Asosiasi , dan Komposisi
Agregasi :
Agregasi merupakan hubungan antara satu object dengan object lainnya dimana object satu dengan object lainnya sebenarnya terpisah namun disatukan ,, sehingga tidak terjadi kebergantungan (Object lain bisa ada walau object penampungnya tidak ada ).. contoh dalam dunia nyatanya adalah object pemain bola dan klub bola dimana pemain bola bisa tetap ada walau tidak ada klub bola,, berikut ini contoh codingannya dalam bahasa java
public class pemainbola {
protected String nama;
protected String Alamat;
public pemainbola ( String nama, String alamat)
{
this.nama=nama;
this.alamat=alamat
}
}
public class klubbola
{
protected String nama;
protected pemainbola pemainno1;
public klubbola( String nama);
public void setpemainsatu(pemainbola pemain)
{
this.pemainno1=pemain;
}
}
public void main()
{
klubbola juventus = new klubbola(“Juventus”);
pemainbola orang1 = new pemainbola(“Del Piero”,”Sukabirus”);
juventus.setpemainsatu(orang1);
}
disini dapat dilihat bahwa hubungan terjadi setelah objek klub bola dan pemain bola terinisialisasi dan digabungkan di luar object masing2 sehingga jika objek pemain bola tidak tergantung pada klub,, jika objek delpiero (orang1) diubah maka objek delpiero di object juventus pun akan berubah..
sedangkan komposisi adalah dimana hubungan suatu object bergantung dengan objek lainnya.. contoh hubungan antara ibu dan anak,, anak tidak akan ada jika ibu tidak ada
contoh dalam javanya
public class anak
{
String nama;
public anak (String nama)
{
this.nama=nama;
}
}
public class orangtua{
String nama;
anak ank;
public orangtua(String nama, String anknya)
{
this.nama=nama;
anak ank = new anak(anknya);
}
}
public void main()
{
orangtua ibu=new(“sariyem”,”zidane”);
}
disini dapat dilihat jika object anak diinisialisasi dalam object orang tua,, sehingga object anak g akan ada jika orang tua tidak ada
dapat dilihat jika zidane ( sebagai anak) di cast oleh sariyem (ibunya)
..
pilih mana ?? agregasi atau kom
sedikit koreksi :
1. anak ank = new anaknya(anknya);
bisa langsung diganti :
ank = new anak(anknya);
karena ank sudah dideklarasikan di kelas orangtua sebagai object bentukan dari kelas anak.
2. public void main() mungkin yang dimaksud public static void main(String[] args) ???
atau sekadar procedur aja ?
terus, asosiasinya mana?