Anahtar Farkı – Java'da Toplama ve Kompozisyon
Toplama, "var-a" ilişkisini tanımlayan iki nesne arasındaki ilişkidir. Kompozisyon, sahiplik anlamına gelen daha spesifik bir toplama türüdür. Java'da toplama ve oluşturma arasındaki temel fark, içerilen nesne sahip olan nesne olmadan var olabiliyorsa, bu bir toplamadır ve içerilen nesne sahip olan nesne olmadan var olamıyorsa, bu bir kompozisyondur..
Nesneye Yönelik Programlama (OOP), yazılım geliştirmede önemli bir paradigmadır. Nesneleri kullanarak yazılımı modellemek için kullanılır. Nesneler sınıflar kullanılarak oluşturulur. Bir sınıf, özelliklerden ve yöntemlerden oluşur. Yazılımda birden çok nesne vardır. Her nesne, mesaj geçişi yoluyla birbirleriyle işbirliği yapar. İki nesne arasındaki ilişki bir ilişki olarak bilinir. Hem toplama hem de kompozisyon iki tür birlikteliktir. “Ha-a” ilişkisi, bir nesnenin başka bir nesneyi kullanabileceğini açıklar. Toplama ve kompozisyon, OOP'yi destekleyen dillerde uygulanabilir. Kapsanan nesne, sahip olan nesne olmadan da var olabiliyorsa, bu iki nesne arasındaki ilişki bir toplamadır. Kapsanan nesne, sahip olan nesne olmadan var olamıyorsa, bu iki nesne arasındaki ilişki bir kompozisyondur.
Java'da Toplama Nedir?
Toplama, bir ilişkilendirme türüdür. Bir sınıfın bir varlık referansı varsa, bu toplama olarak bilinir. Toplama, var-a ilişkisini temsil eder. Bir Student nesnesi, Student_id, name, address gibi özelliklere sahip olabilir. Bu nesne ayrıca kendi şehir, eyalet, ülke gibi bilgileriyle adres adı verilen başka bir nesneye de sahip olabilir. Bu durumda Öğrencinin bir varlık referans adresi vardır. Bu bir "bir-bir" ilişkisidir.
Şekil 01: Sınıfı İşaretler
Şekil 02: Toplama işlemini açıklayan Ana Program
Yukarıdaki programa göre, Sınıf İşaretleri Matematik, İngilizce ve Fen notları olmak üzere üç özellikten oluşur. Öğrencinin bir İşaret nesnesi vardır. Matematik, İngilizce ve bilimin işaretleri olan kendi özelliklerine sahiptir. Ana yöntemde, bir İşaret nesnesi oluşturulur ve işaret değerleri atanır. s1 olan öğrenci nesnesi, m1 olan işaret nesnesini kullanabilir. Bu nedenle, Öğrenci ve İşaretler “vardır” ilişkisine sahiptir. Marks nesnesi, Öğrenci Nesnesi olmadan var olabilir. Bu nedenle, bir toplamadır.
Java'da Kompozisyon nedir?
Kompozisyon bir tür ilişkilendirmedir. Sahiplik anlamına gelen belirli bir toplama biçimidir. A sınıfı ve B sınıfı olarak adlandırılan iki sınıf olduğunu varsayalım. A sınıfının nesnesi yok edildiğinde B sınıfının nesnesi var olamıyorsa, o zaman bu bir kompozisyondur. Bir kitap birçok sayfadan oluşur. Kitap yok edilirse sayfaları da yok olur. Sayfa nesneleri, kitap nesnesi olmadan var olamaz. Aşağıdaki programa bakın.
Şekil 03: Sınıf Sınıfı
Şekil 04: Okul Sınıfı
Şekil 05: Kompozisyonu açıklayan Ana Program
Yukarıdaki programa göre, Sınıfın name ve numOfStudents olmak üzere iki özelliği vardır. Okul, Classroom nesnelerinin bir koleksiyonudur. Ana yöntemde iki Classroom nesnesi oluşturulur. Bunlar "sınıflara" eklenir. Bu "sınıflar" okul nesnesine aktarılır. Son olarak, sınıf adı ve öğrenci sayısı, koleksiyon boyunca yinelenerek yazdırılır. Okul nesnesi yok edilirse, Sınıf nesneleri de yok olur. Bu bir kompozisyon örneğidir. Aynı zamanda 'vardır' ilişkisini de içerir ve aynı zamanda sahiplik anlamına gelir.
Java'da Toplama ve Kompozisyon Arasındaki İlişki Nedir?
Toplama ve Kompozisyon, iki tür İlişkilendirmedir ve Kompozisyon, özel bir Toplama türüdür. Kompozisyon, Toplamanın bir alt kümesidir
Java'da Toplama ve Kompozisyon Arasındaki Fark Nedir?
Java'da Toplama ve Kompozisyon |
|
Toplama, "bir" ilişkisini tanımlayan iki nesne arasındaki ilişkidir. | Bileşim, sahiplik anlamına gelen daha spesifik bir toplama türüdür. |
Kullanım | |
Bir nesne başka bir nesne kullandığında toplama kullanılır. | Bileşim, bir nesne başka bir nesneye sahip olduğunda kullanılır. |
Nesnelere Etkisi | |
Toplamada, sahip olan nesneyi yok etmek, içeren nesneyi etkilemez. | Kompozisyonda, sahip olan nesneyi yok etmek, içeren nesneyi etkiler. |
Özet – Java'da Toplama ve Kompozisyon
Toplama ve Kompozisyon, OOP'de iki kavramdır. “Ha-a” ilişkisi, bir nesnenin başka bir nesneyi kullanabileceğini açıklar. Toplama, "has-a" ilişkisini tanımlayan iki nesne arasındaki ilişkidir. Kompozisyon, sahiplik anlamına gelen daha spesifik bir toplama türüdür. Java'da toplama ve kompozisyon arasındaki fark, eğer içerilen nesne sahip olan nesne olmadan var olabiliyorsa bu bir toplamadır ve içerilen nesne sahip olan nesne olmadan var olamıyorsa, bu bir kompozisyondur.