Komposisi dan agregasi
Kelas dan objek dapat dihubungkan satu sama lain. Warisan menjelaskan hubungan "IS A". Seekor singa ADALAH binatang. Hubungan ini dengan mudah diekspresikan menggunakan warisan, di mana
Animalakan menjadi kelas induk dan
Lionakan menjadi anak. Tetapi tidak setiap hubungan di dunia digambarkan dengan tepat seperti ini. Misalnya, keyboard pasti memiliki hubungan dengan komputer, tetapi
itu bukan komputer . Tangan memiliki hubungan tertentu dengan seseorang, tetapi mereka bukanlah manusia. Kasus-kasus ini mewakili jenis hubungan yang berbeda — bukan "IS A", tetapi "HAS A". Tangan bukanlah seseorang, tetapi seseorang MEMILIKI tangan. Keyboard bukanlah komputer, tetapi komputer MEMILIKI keyboard. "MEMPUNYAI SEBUAH"
. Perbedaan antara konsep-konsep ini terletak pada "keketatan" hubungan. Mari kita ambil contoh sederhana: Kami memiliki file
Car. Setiap mobil memiliki mesin. Selain itu, setiap mobil dapat mengangkut penumpang. Apa perbedaan mendasar antara bidang
Engine enginedan
Passenger[] passengers? Jika penumpang
Aduduk di dalam mobil, bukan berarti penumpang
Bdan
Cjuga tidak boleh berada di dalam mobil. Satu mobil bisa menampung banyak penumpang. Apalagi, semua penumpang boleh keluar dari mobil, namun tetap berfungsi dengan lancar. Hubungan antara
Carkelas dan
Passenger[] passengersarray kurang ketat. Ini disebut
agregasi . Inilah artikel bagus tentang topik ini:
Hubungan antar kelas (objek). Ini memberikan contoh agregasi yang bagus. Katakanlah kita memiliki sebuah
Studentkelas yang mewakili seorang siswa, dan sebuah kelas
StudentGroupyang mewakili sekelompok siswa. Seorang siswa dapat menjadi anggota klub fisika, klub penggemar siswa Star Wars, atau klub komedi.
Komposisi adalah jenis hubungan yang lebih ketat. Saat menggunakan komposisi, sebuah objek memiliki objek lain, tetapi tidak dapat menjadi milik objek lain dengan jenis yang sama. Contoh paling sederhana adalah mesin mobil. Jika sebuah mobil memiliki mesin, maka mesin tersebut tidak dapat menjadi milik mobil lain. Seperti yang Anda lihat, hubungan itu jauh lebih ketat daripada
Cardan
Passengers.
![Hubungan antar kelas. Warisan, komposisi dan agregasi - 4]()
GO TO FULL VERSION