Örneklerle Java'da Kompozisyon Nedir?
Yayınlanan: 2022-11-19Java programlama dilinin çok yönlülüğü, sınıflar arasındaki tekrarı azaltırken kodun yeniden kullanılmasına izin verir. Java, sınıflar arasında ilişkiler kurarak kodun yeniden kullanılabilirliğini kolaylaştırır ve bu ilişkiler iki türdendir: kalıtım ve ilişkilendirme. Kalıtım, bir is-a ilişkisi uygulamamıza ve mevcut bir sınıftan yeni bir sınıf oluşturmamıza izin verirken, ilişkilendirme veya has-a ilişkisi kodun yeniden kullanılabilirliğini sağlar.
Has-a ilişkisi ayrıca iki kategoriye ayrılır: Java'da toplama ve kompozisyon . Bu makale, Java'da kompozisyon kavramını keşfedecek ve temellerini örneklerle anlamanıza yardımcı olacaktır.
Java'daki İlişkilere Genel Bir Bakış
Java'daki ilişkiler, sınıfların ilişkili olduğu farklı yolları ifade eder. Genel olarak, Java'da iki tür ilişki vardır:
- bir ilişki
- bir ilişkisi var
Kaynak
Bir ilişki mi (Miras)
Java'daki kalıtım özelliği, is-a ilişkilerini uygulamamıza izin verir. Bu durumda, bir sınıf başka bir sınıfı miras alır. Örneğin, bir 'Flower' sınıfı başka bir 'Lily' sınıfını miras alıyorsa, 'Lily' sınıfının 'Flower' ile bir is-a ilişkisi olduğunu söyleyebiliriz. Ayrıca Lily'nin bir çiçek olduğunu ima eder.
Örnek: Lily 'bir' çiçektir, bilgisayar 'bir' cihazdır, vb.
İlişkisi var (Dernek)
Has-a ilişkisi, bir sınıfın başka bir sınıfın örneğini kullandığı anlamına gelir ve Java'da böyle bir ilişkiye ilişkilendirme denir. Örneğin, bir P sınıfı başka bir Q sınıfının referansına sahipse, bu, P'nin Q sınıfının tüm özelliklerine erişebileceği anlamına gelir.
Örnek: Bilgisayarın 'işlemcisi' vardır, arının' iğnesi vardır, vb.
Java'daki bir ilişkilendirme, nesnelerini kullanan iki ayrı sınıf arasındaki bir ilişkidir. İlişki aşağıdaki türlerde olabilir:
- Birden çoğa: Bir nesne birden çok nesneyle ilişkilendirilir.
- Bire bir: Bir nesne, tek bir nesneyle ilişkilendirilir.
- Çoktan çoğa: Birçok nesne, diğer çoklu nesnelerle ilişkilendirilir.
- Çoktan bire: Birçok nesne bir nesneyle ilişkilendirilir.
Dernek iki türdür: toplama ve kompozisyon.
Java'da Kompozisyon
Java'da kompozisyon, sınıflar arasında has-a ilişkilerini uygulamak için bir tasarım tekniğidir. Bu ilişkilendirmede, bir sınıf başka bir sınıfı içerir. Dahası, içerilen sınıf, içerilen sınıfa dayanır ve bağımsız olarak var olamaz. Başka bir deyişle, bir sınıf, birbirine bağlı işlevselliğe sahip başka bir sınıfı içerir.
Örneğin, bir 'Araba' sınıfı, 'Motor' ve 'Battery' sınıflarını içerir. Bu nedenle, 'Araba', 'Motor' ve 'Akü' ile bir has-ilişkisi içindedir ve son ikisi, 'Araba' olmadan bağımsız olarak var olamaz.
Başka bir gerçek hayat örneğini ele alalım. İnsan vücudunda böbrekler vardır ve organlar insan vücudu olmadan var olamaz. Dolayısıyla, 'İnsan'ı 'Böbrekler' sınıfıyla ilişkisi olan bir sınıf olarak düşünürsek, Java örneğindeki kompozisyondur, çünkü böbrekler bir insan vücudu olmadan bağımsız olarak var olamazlar.
upGrad'ın Size Özel Yazılım Geliştirme Web Semineri –
SAAS Business – Bu Kadar Farklı Olan Nedir?
Java Örneğinde Kompozisyon Uygulama
Şimdi Java'da kompozisyon kavramını gösteren aşağıdaki programı düşünün . Daha iyi anlamak için onu adımlara ayıracağız.
Adım 1: İlk adımda, bir 'Car' sınıfı oluşturacağız ve metotları ve veri üyelerini bildirip tanımlayacağız.
sınıf Araba
{
// veri üyelerini ve yöntemleri bildirme
özel Dize rengi;
özel int hızı;
genel geçersiz carFeatures()
{
System.out.println(“Araba Rengi= “+renk + ” Maksimum Hız= ” + hız);
}
genel geçersiz setColor(Dize rengi)
{
this.renk = renk;
}
genel geçersiz ayar hızı (int hız)
{
this.hız = hız;
}
}
Adım 2: Ardından, yukarıdaki 'Car' sınıfını genişleten bir 'Fiat' sınıfı oluşturacağız. 'Fiat' sınıfı, kompozisyon yoluyla FiatEngine sınıf nesnesi start() yöntemini kullanır, bu da 'Fiat' sınıfının 'bir' FiatEngine'e sahip olduğunu ima eder. Fiat bir arabadır, bu nedenle 'Araba' sınıfının uzantısıdır.
sınıf Fiat, Arabayı genişletiyor
{
//Car sınıfının tüm özelliklerini devralır
genel geçersiz setStart()
{
FiatEngine e = yeni FiatEngine();
e.start();
}
}
Adım 3: Java kompozisyon programının bir sonraki adımında, yukarıdaki 'Fiat' sınıfındaki sınıf nesnesini kullandığımız bir FiatEngine sınıfı oluşturacağız.
sınıf FiatEngine
{
genel geçersiz başlangıç ()
{
System.out.println(“Motor çalışmaya başladı.”);
}
genel geçersiz durdurma ()
{
System.out.println(“Motor durdu.”);
}
}
Adım 4: Programın son adımında CompositionExample sınıfı oluşturacağız, 'Fiat' sınıfından bir nesne oluşturacağız ve onu başlatacağız.
sınıf KompozisyonÖrneği
{
genel statik geçersiz main(String[] args)
{
Fiat f = yeni Fiat();
f.setColor("Siyah");
f.ayar hızı(175);
f.carFeatures();
h.setStart();
}
}
Çıktı:
Araba Rengi= Siyah Azami Hız= 175
Motor çalıştı.
Dünyanın En İyi Üniversitelerinden Çevrimiçi Yazılım Geliştirme Kursları Öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Java'da Toplama ve Kompozisyon
Java'da toplama ve birleştirme, her ikisi de sınıflar arasındaki bağımlılık açısından farklı olan iki tür has-a ilişkisidir. Toplamada, kapsayıcı ve referans sınıfları bağımsız bir varlığa sahipken, bir kapsayıcı sınıf olmadan bir kompozisyon referans sınıfının varlığı sona erer. Bu nedenle, bir referans sınıfı, kompozisyonda kapsayıcı sınıfına bağlıdır.
İşte Java'daki toplama ve kompozisyon arasındaki farkı anlamak için gerçek hayattan bir örnek . Bir arabanın motoru, freni, aküsü, farları, müzik çaları vb. gibi çeşitli parçaları vardır. Araba müzik çalar olmadan çalışabilirken, motor veya akü gibi temel parçalar olmadan çalışamaz. Dolayısıyla, araba ve müzik çaların bir toplama ilişkisine sahip olduğunu, motor ve arabanın ise bir kompozisyon ilişkisine sahip olduğunu söyleyebiliriz.
Java'da kompozisyon kullanmanın faydaları nelerdir?
Artık Java'daki kompozisyon kavramı hakkında temel bir anlayışa sahip olduğunuza göre, işte bu tekniğin faydalarına bir genel bakış:
- Java'daki kompozisyon, kodun yeniden kullanılabilirliğini kolaylaştırır.
- Java'daki kompozisyon, diğer nesnelerin müşteri sınıflarına görünürlüğünü kontrol etmemize ve ihtiyacımız olanı yeniden kullanmamıza izin verir.
- Java çoklu kalıtımı desteklemese de, kompozisyonu kullanarak bunun üstesinden gelebiliriz.
- Java'daki kompozisyon esnektir ve programın davranışını değiştirmek için çalışma zamanında üye nesneleri değiştirmemize izin verir.
- Java kompozisyonu, özellikle test güdümlü geliştirmede yararlı olan bir özellik olan daha iyi sınıf test edilebilirliği sunar.
- Kompozisyon tabanlı bir tasarımın daha az sınıfı vardır.
Yazılım Mühendisliği ile İlgili Popüler Kurslar ve Makaleler
Popüler Programlar | |||
Yazılım Geliştirmede Yönetici PG Programı - IIIT B | Blockchain Sertifika Programı - PURDUE | Siber Güvenlik Sertifika Programı - PURDUE | Bilgisayar Bilimlerinde Yüksek Lisans - IIIT B |
Diğer Popüler Makaleler | |||
ABD'de Bulut Mühendisi Maaşı 2021-22 | ABD'de AWS Çözüm Mimarı Maaşı | ABD'de Arka Uç Geliştirici Maaşı | ABD'de Ön Uç Geliştirici Maaşı |
ABD'de web geliştiricisi Maaşı | 2022'de Scrum Master Mülakat Soruları | 2022'de Siber Güvenlik Alanında Bir Kariyere Nasıl Başlanır? | Mühendislik Öğrencileri için ABD'de Kariyer Seçenekleri |
Çözüm
Java'da kompozisyon, sınıflar arasındaki ilişki has-a ise ve kodu yeniden kullanmak istiyorsanız mükemmel bir tekniktir. Özetle, Java'da kompozisyon hakkında hatırlamanız gereken bazı önemli noktalar şunlardır:
- Java'daki kompozisyon, bir has-a ilişkisini temsil eder.
- Kompozisyonda, bir sınıf başka bir sınıfı içerir ve içerilen sınıf, kapsayıcı sınıfa dayanır ve bağımsız olarak var olamaz.
- Bir kompozisyon ilişkisindeki her iki varlık da birbirine bağımlıdır.
- Diğer nesnelere atıfta bulunan bir örnek değişken aracılığıyla Java'da kompozisyon elde edebiliriz.
upGrad'ın Yazılım Geliştirme Alanındaki Yönetici PG Programı ile kariyerinizi geliştirin
Yazılım geliştirme, genç profesyoneller için en kazançlı kariyer seçeneklerinden biridir. Halihazırda sektördeyseniz veya bir başlangıç yapmak istiyorsanız, upGrad'ın Yazılım Geliştirme alanında Yönetici PG Programına kayıt olmalısınız . Program size talep edilen becerileri ve en yüksek ödeme yapan on kodlama dilini ve aracını öğretir. Blok Zinciri Geliştirme, Tam Yığın Geliştirme, DevOps ve Bulut Arka Uç Geliştirme dahil olmak üzere dört uzmanlık arasından seçim yapabilirsiniz.
En çok kazandıran programlama dillerini öğrenmenin yanı sıra 30'dan fazla Vaka Çalışması ve Proje üzerinde çalışabilirsiniz. Birinci sınıf öğretim üyeleri, kurs için canlı dersler ve çevrimiçi oturumlar alır. Öğrenci desteği günün her saati mevcuttur.
Kursa bir an önce kabul edilmek için Hemen Başvur !
Java'da kompozisyon ve kalıtım nedir?
Java'daki kompozisyon ve kalıtım, nesneler ve sınıflar arasında ilişkiler kurmak için iki programlama tekniğidir. Kompozisyon, başka bir sınıfı içeren bir sınıfla has-a ilişkisini temsil eder. Öte yandan, kalıtım, bir sınıfın başka bir sınıfın özelliklerini ve davranışını edinmesiyle bir is-a ilişkisi sergiler.
Java'da kompozisyonun amacı nedir?
Java'daki kompozisyon, kodun yeniden kullanılabilirliğine izin verir ve bir sınıfın daha iyi test edilebilirliğini sağlar. Java çoklu kalıtımı desteklemese de, kompozisyon bunu yapmak için bir yol sağlar.
Kompozisyon bir OOP mu?
Kompozisyon, nesne yönelimli programlamada temel bir kavramdır. Bir sınıfın örnek değişkenler aracılığıyla diğer sınıfların bir veya daha fazla nesnesine başvurduğu has-a ilişkisini tanımlar.