Kompozisyon ve toplama
Sınıflar ve nesneler birbiriyle ilişkilendirilebilir. Kalıtım, bir "IS A" ilişkisini tanımlar. ASLAN BİR HAYVANDIR. Bu ilişki, kalıtım kullanılarak kolayca ifade edilir, burada
Animalebeveyn sınıf ve
Lionçocuk olacaktır. Ancak dünyadaki her ilişki bu şekilde doğru bir şekilde tanımlanmaz. Örneğin, bir klavyenin bilgisayarla kesinlikle bir ilişkisi vardır, ancak
o bir bilgisayar değildir . Ellerin bir kişiyle bir tür ilişkisi vardır ama onlar bir kişi değildir. Bu durumlar farklı bir ilişki türünü temsil eder - "IS A" değil, "HAS A". Eller bir kişi değildir, ancak bir kişinin elleri vardır. Klavye bilgisayar değildir, ancak bilgisayarın klavyesi vardır. "HA VAR"
. Bu kavramlar arasındaki fark, ilişkilerin "katılığında" yatmaktadır. Basit bir örnek verelim: Bir
Car. Her arabanın bir motoru vardır. Ayrıca her araba yolcu taşıyabilir.
Engine engineve alanları arasındaki temel fark nedir
Passenger[] passengers? Yolcu
Abir arabanın içinde oturuyorsa, bu, yolcu olduğu anlamına gelmez
Bve
Caynı zamanda arabada olamaz. Bir araba birden fazla yolcu alabilir. Ayrıca tüm yolcular araçtan inse de araç sorunsuz çalışmaya devam eder.
CarSınıf ve dizi arasındaki ilişki
Passenger[] passengersdaha az katıdır.
Agregasyon denir . İşte bu konuyla ilgili iyi bir makale:
Sınıflar (nesneler) arasındaki ilişkiler. Toplama için başka bir iyi örnek sağlar. Diyelim ki
Studentbir öğrenciyi temsil eden bir sınıfımız ve
StudentGroupbir öğrenci grubunu temsil eden bir sınıfımız var. Bir öğrenci bir fizik kulübünün, bir Star Wars öğrenci hayran kulübünün veya bir komedi kulübünün üyesi olabilir.
Kompozisyon daha katı bir ilişki türüdür. Kompozisyon kullanırken, bir nesnenin başka bir nesnesi vardır, ancak aynı türden başka bir nesneye ait olamaz. En basit örnek bir araba motorudur. Bir arabanın motoru varsa, o motor başka bir arabaya ait olamaz. Gördüğünüz gibi, bu ilişki
Carve ilişkisinden çok daha katıdır
Passengers.
![Sınıflar arasındaki ilişkiler. Kalıtım, kompozisyon ve toplama - 4]()
GO TO FULL VERSION