Anotasyon

Composition Nedir

Merhaba arkadaşlar,
mobilhanem.com üzerinden anlattığımız/yayınladığımız derslerimize, Java Nesne Yönelimli Programlama Dersleri serisi altında Composition Nedir konusu ile devam ediyoruz.

Composition Nedir

Composition, Nesne Yönelimli Programlamanın temel taşlarından biridir. Composition’ da sahiplik (has-a) ilişkisi vardır. Burada ki temel yapı; oluşturulan sınıfların birbiri içerisinde kullanılabilirliğini sağlamaktır. Bu sayede kod tekrarı ve kod kirliliğinide önlemiş olacağız. Örnek olarak bir bilgisayar bileşenlerini düşünelim. Bunlar;  Kasa , Anakart, Monitör  vb. Sonrasında  bunları birleştirdiğimizde bir bilgisayar oluşturduğumuzu görelim. Yani biz bu bilgisayarı Nesne Yönelimli Programlamaya göre tasarlayacaksak eğer aşağıda ki görselde belirtmiş olduğumuz basit bir tasarım ortaya çıkmış olacaktır.

Compositon Nedir

Burada bir kasa sınıfı oluşturup obje yaratacağız. Yaratmış olduğumuz kasa objesini ise direkt bilgisayar objesine yerleştireceğiz. Anakart ve Monitör içinde aynısını yaptıktan sonra Monitör sınıfı içerisinde bir tane daha composition uygulamaya çalışacağız. Gelelim bu anlatmış olduğumuz örneği koda dökmeye…

Yukarıdaki görselde Monitör Objesi içerisinde bir de Resolution objesini eklemiştik. Resolution sınıfında en ve boy tanımlaması yaptıktan sonra monitör sınıfında bu sınıfı çağırarak composition örneğini de tekrarlamış olacağız.

Bilgisayar sınıfına baktığımızda anakart, kasa , monitör sınıflarını eklemiş olduğumuzu görüyoruz. Burada ki asıl amaç;  Bir sınıfı oluşturduktan sonra başka bir sınıf içerisinde o sınıfı kullanmamızı sağlayan yapıya composition denildiğini görmüş olduk.

Composition Faydaları Nelerdir

Composition düşünürken gerçek dünya ile bağlantı kurarak birden fazla ilişki kurabilir konuyu daha iyi kavrayabiliriz. Peki Composition oluşturduktan sonra bunun bize faydası ne olacaktır diye düşündüğünüzü duyar gibiyim. Faydaları aslında bizim çoğu projemizde yaşamış olduğumuz sıkıntıları giderebilecek durumdadır. Bunlar ;

  • Mevcut kodu tekrar kullanabiliriz,
  • Genişletebiliriz,
  • Kod tekrarını önleyebiliriz ve bunun sayesinde temiz kod elde etmiş oluruz.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı Mobilhanem Soru&Cevap bölümünden sorabilirsiniz. İlgili örneğe buradan ulaşabilirsiniz

Tüm Java Dersleri için tıklayınız..

32

Sevde Aybüke Kaleli

Fırat Üniversitesi-Yazılım Mühendisliği (2015-2019)

2 Yorum

  • Eline sağlik Aybuke, guzel bir yazi olmus. Bir kac tavsiyem olacak, object oriented iliskileri aciklarken, uml gosterim bicimlerini ve kullanimini da yazilarina eklersen daha faydali olabilecegini dusunuyorum. Bir de referans, varsa ben goremedim yazida. Teknik sentezi yaparken kullandigin referanslarida paylasman ekstra fayda saglayabilir okuyucularina

    • Çok teşekkür ederim abi, tavsiyelerin benim için çok değerli. Bunlara önem vererek devam edeceğim yazılarıma.

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?