Komposisi dan pengagregatan
Kelas dan objek boleh dikaitkan antara satu sama lain. Warisan menerangkan hubungan "IS A". Singa ADALAH haiwan. Hubungan ini mudah dinyatakan menggunakan warisan, di mana
Animal
akan menjadi kelas induk dan
Lion
akan menjadi anak. Tetapi tidak setiap hubungan di dunia digambarkan dengan betul seperti ini. Sebagai contoh, papan kekunci pasti mempunyai beberapa hubungan dengan komputer, tetapi
ia bukan komputer . Tangan mempunyai beberapa hubungan dengan seseorang, tetapi mereka bukan orang. Kes ini mewakili jenis perhubungan yang berbeza — bukan "IS A", tetapi "HAS A". Tangan bukan orang, tetapi seseorang ADA tangan. Papan kekunci bukan komputer, tetapi komputer MEMPUNYAI papan kekunci. "ADA A"
. Perbezaan antara konsep ini terletak pada "ketaatan" hubungan. Mari kita ambil contoh mudah: Kami mempunyai
Car
. Setiap kereta ada enjin. Selain itu, setiap kereta boleh membawa penumpang. Apakah perbezaan asas antara medan
Engine engine
dan
Passenger[] passengers
? Jika penumpang
A
duduk di dalam kereta, itu tidak bermakna penumpang
B
dan
C
juga tidak boleh berada di dalam kereta. Satu kereta boleh memuatkan berbilang penumpang. Apatah lagi, semua penumpang mungkin keluar dari kereta, namun ia akan terus berfungsi dengan lancar. Hubungan antara
Car
kelas dan
Passenger[] passengers
tatasusunan adalah kurang ketat. Ia dipanggil
agregasi . Berikut ialah artikel yang bagus tentang topik ini:
Hubungan antara kelas (objek). Ia memberikan satu lagi contoh pengagregatan yang baik. Katakan kita mempunyai
Student
kelas yang mewakili pelajar dan kelas
StudentGroup
yang mewakili sekumpulan pelajar. Seorang pelajar boleh menjadi ahli kelab fizik, kelab peminat pelajar Star Wars atau kelab komedi.
Komposisi adalah jenis hubungan yang lebih ketat. Apabila menggunakan gubahan, objek mempunyai objek lain, tetapi ia tidak boleh dimiliki oleh objek lain daripada jenis yang sama. Contoh paling mudah ialah enjin kereta. Jika kereta mempunyai enjin, maka enjin itu tidak boleh dimiliki oleh kereta lain. Seperti yang anda lihat, hubungan itu lebih ketat daripada hubungan
Car
dan
Passengers
.