Örneklerle Java'da Kompozisyon Nedir?

Yayınlanan: 2021-04-09

Java, nesne yönelimli programlamayı ve iki sınıf arasında ilişkiler kurarak kodun yeniden kullanılabilirliğini destekleyen çok yönlü bir dildir. Java'da bir kodu yeniden kullanmak ve bir sınıftan diğerine yinelemeyi azaltmak için kullanılan iki tür ilişki veya ilişki vardır.

Bu ilişkiler IS-A(Miras) ve HAS-A (Association) şeklindedir. IS-A sınıfları arasında sıkı bir bağlantı varken, HAS-A sınıfları gevşek bir şekilde bağlantılıdır ve programcılar için daha çok tercih edilir.

HAS-A ilişkisi, Java'da toplama ve kompozisyon olmak üzere iki türe ayrılır . Bu makale, OOP kompozisyon konseptine dayanmaktadır. Kompozisyonun nasıl kodlandığına ve uygulandığında kazanılan avantajlara dair gerçek hayattan birçok örnek göreceğiz.

İçindekiler

Java'da Derneklerin veya İlişkilerin Kısa Bir Anlatımı

Nesne yönelimli programlamada nesneler birbiriyle ilişkilidir ve aralarındaki ortak işlevselliği kullanır. Java programlarında Kalıtım, İlişkilendirme, Toplama ve Kompozisyon konularının geldiği yer burasıdır .

Java'da Kalıtım (IS-A) ve İlişkilendirme (HAS-A)

1. Kalıtım (IS-A)

IS-A ilişkisi, bir nesnenin diğerinin türü olduğunu belirtir. 'Uzatır' ve 'uygular' anahtar sözcükleri kullanılarak uygulanır.

Örnek: HP IS-A dizüstü bilgisayar

2. Dernek (HAS-A)

HAS-A ilişkisi, bir sınıfın başka bir sınıfla ilişkisi olduğunu belirtir. Örneğin, A Sınıfı, B Sınıfının referansını tutar ve B sınıfının tüm özelliklerine erişebilir.

Örnek: İnsan vücudu HAS-A Heart

Kaynak

Kaynak

3. Toplama ve Kompozisyon

Has-A ilişkisi veya İlişkilendirme, toplama ve bileşime bölünebilir. Bir toplama kapsayıcı sınıfı ve başvurulan sınıf bağımsız bir varlığa sahip olabilir. Kapsayıcı sınıfı yok edilirse bir kompozisyon referans sınıfı mevcut olamaz.

Toplama ve kompozisyonu anlamak için bir örnek alalım. Bir arabanın parçaları vardır, örneğin motorlar, tekerlekler, müzik çalar, vb. Araba motorsuz ve tekerleksiz çalışamaz, ancak müzik çalarsız çalışabilir. Burada motor ve arabanın bir kompozisyon ilişkisi vardır ve araba ile müzik çaların bir toplama ilişkisi vardır. Toplama durumunda, bir nesne ana nesnenin parçası olmadan da var olabilir.

Kaynak

Java'da Kompozisyon

Java'da birbiriyle ilişkili iki nesne arasındaki bir bileşim, bir sınıf ile diğeri arasında güçlü bir ilişki olduğunda ortaya çıkar . Sahip veya üst sınıf olmadan diğer sınıflar var olamaz. Örneğin, A 'İnsan' sınıfı, Kalp ve akciğerlerin bir bileşimidir . İnsan nesnesi öldüğünde, hiçbir parça yoktur.

Kompozisyon, sınırlı bir Toplama şeklidir. Composition'da, bir sınıf başka bir sınıfı içerir ve ona bağlıdır, böylece başka bir sınıf olmadan işlevsel olarak var olamaz.

Java'da Kompozisyonun Uygulanması

Motor ve araba ilişkisi, aşağıdaki gibi Java sınıfları kullanılarak uygulanır. Java'da 'final' anahtar kelimesi Kompozisyonu temsil etmek için kullanılır. Bunun nedeni, 'Sahip' nesnesinin bir parça nesnesinin kullanılabilir olmasını ve onu 'son' yaparak işlev görmesini beklemesidir .

genel sınıf Araba {

özel nihai Motor motoru;

halka açık Araba (){

motor = yeni Motor();

}

}

sınıf Motor {

özel Dize türü;

}

Hem kalıtımı hem de kompozisyonu gösteren başka bir örnek alalım.

Kaynak

Bu programda Honda sınıfı bir Arabadır ve Araba sınıfından uzanır. Otomobil motoru Object, Honda sınıfında kullanılmaktadır.

sınıf CarEngine {

public void StartEngine(){

System.out.println(“ Araba motoru Çalıştı .”);

}

public void stopEngine(){

System.out.println(“ Araba motoru Durdu .”);

}

}

sınıf Araba {

özel Dize rengi;

özel int maxi_Speed;

public void carDetails(){

System.out.println(“Araba Rengi= “+renk + “; Maksimum Hız= ” + maxi_Speed);

}

// Arabanın rengini ayarlama

public void setColour(Dize rengi) {

this.color = renk;

}

//Maksimum araba Hızını ayarlama

public void setMaxiSpeed(int maxi_Speed) {

this.maxi_Speed ​​= maxi_Speed;

}

}

sınıfı Honda, Arabayı genişletiyor{

genel geçersiz HondaStart(){

CarEngine Honda_Engine = yeni CarEngine(); //kompozisyon

Honda_Engine.startEngine();

}

}

genel sınıf Ana {

public static void main(String[] args) {

Honda HondaJazz = yeni Honda();

HondaJazz.setColour(“Siyah”);

HondaJazz.setMaxSpeed(160);

HondaJazz.carDetails();

HondaJazz.HondaStart();

}

}

Çıktı:

Araba Rengi = Siyah; Maksimum Hız = 160

Araba motoru çalıştı.

Çıktı, kompozisyon kullanılarak elde edilir ve Honda Jazz arabasının ayrıntılarını gösterir.

İlişkilendirmenin UML Anlamları

Java'da A ve B sınıfları arasındaki ilişkilendirme, toplama ve kompozisyon ilişkileri UML diyagramlarında aşağıdaki gibi temsil edilir:

İlişkilendirme: A—->B

Kompozisyon: A—–<dolgulu>B

Toplama: A—–<>B

Dünyanın en iyi Üniversitelerinden çevrimiçi olarak Yazılım Mühendisliği dereceleri alın . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Java'da Kompozisyonun Faydaları

Java'da kompozisyon tasarım tekniğini kullanmak aşağıdaki faydaları sağlar:

  1. “Nesne kompozisyonunu sınıf mirasına tercih etmek” her zaman mümkündür. Sınıflar, bileşime göre polimorfizm ve kodun yeniden kullanılmasını sağlar.
  2. Kompozisyon esnektir, burada dahil edilen nesneyi değiştirerek çalışma zamanında sınıf uygulamasını değiştirebilir ve davranışını değiştirebilirsiniz.
  3. Kompozisyona dayalı bir tasarım daha az sayıda sınıfa sahiptir.
  4. Sınıflar arasındaki “HAS-A” ilişkisi anlamsal olarak “IS-A” ilişkisinden daha doğrudur.
  5. Java'da kompozisyon , özellikle test odaklı geliştirmede faydalı olan daha iyi sınıf test edilebilirliği sunar.
  6. Birden çok nesneyi tek bir nesnede birleştirerek dillerde "çoklu kalıtım" elde etmek mümkündür.
  7. Kompozisyonda, yöntemler veya özellik adları arasında bir çakışma yoktur.

Çözüm

Java'da kompozisyon, programlama sırasında birçok avantaj sunar ve tercih edilen tasarım yöntemlerinden biridir. Bu yazımızda gerçek hayattan örnekler ve pratik kodlar ile bu önemli kavramı anlamanızı sağlamaya çalıştık. Kompozisyon, esneklik ve sağlam kod sunar. Kodun yeniden kullanılabilirliği özelliği, kod tekrarından kaçınmaya ve maliyet etkinliği sağlamaya yardımcı olur. Bu, onu çeşitli programlarda yaygın olarak kullanılan yöntemlerden biri yapar.

Yazılım geliştirme becerilerinizi öğrenmenizi ve geliştirmenizi amaçlayan bir Bilgisayar Bilimi kursunda upGrad'ın Master of Science ile Java'da kompozisyon öğrenin .

uygunluk

AB achelor's Derecesi %50 veya eşdeğeri notlarla. İlk kodlama deneyimi gerekmez.

fiyatlandırma

Program ücreti, Hindistan'da ikamet edenler için aylık Rs.13, 095 ve Uluslararası sakinler için 5999 USD'den başlar.

Hayalinizdeki İşe Yer Açın

Makine Öğrenimi ve Yapay Zeka Alanında Yüksek Lisans Programına Başvurun