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