Logo tr.removalsclassifieds.com

Kompozisyon ve Kalıtım Arasındaki Fark (Tablolu)

İçindekiler:

Anonim

Yeniden kullanılabilirlik kavramlarını kullanarak yeni yazılım oluşturmak için önceki sürümlerin kullanılması yoluyla programlamada yeniden kullanılabilir kod olarak adlandırılır. Bilgisayar teknolojisi şirketlerinde, kodun yeniden kullanılabilirliği kritik bir üretkenlik işlevi olarak kabul edilir. Varlık programlamada bu ilişkileri tanımlamanın iki temel yolu vardır: kalıtım ve kompozisyon.

Kompozisyon ve Kalıtım

Kompozisyon ve kalıtım arasındaki fark, kompozisyonun kalıtımdaki gibi bir "is-a" ilişkisi yerine "has-a" ilişkisine sahip bir sınıf oluşturmak için kullanılmasıdır. Kalıtım, bir sınıf aracılığıyla üye işlevlerin, onları doğrudan sınıfta kodlamak zorunda kalmadan diğerinin mülkü olmasına izin verir.

Sınıf devralma, makale kompozisyonu ile eski haline döndürülür. Kompozisyon, bir varlığın diğerinde kullanılması olarak tanımlanır. Bileşenler olarak önceden yayınlanmış, iyi tasarlanmış sınıfları kullanarak karmaşık sınıflar oluşturmak basit olduğundan, bir nesne her zaman başka bir sınıf içinde alan olarak kullanılabilir. Bunların hepsine kompozisyon denir.

OOP'de kalıtım, bir varlığın diğerinin özelliklerini edinme sürecini ifade eder. OOP'de kodun yeniden kullanımını zorlamanın en etkili yollarından biridir. Kalıtım kullanılarak mevcut sınıflarla ebeveyn-çocuk ilişkileri oluşturularak yeni bir sınıf oluşturulabilir. Sınıflar, nesne yönelimli hesaplama sayesinde diğer sınıfların bazılarından sık kullanılan durumları ve davranışları devralabilir.

Kompozisyon ve Kalıtım Arasındaki Karşılaştırma Tablosu

Karşılaştırma Parametreleri

Kompozisyon

Miras

Önemi Biz sadece kompozisyonda kullanmak istediğimiz bir tür ilan ediyoruz ve bu, çalışma zamanında değişebilen birkaç uygulamayı depolayabiliyor. Benimsediğimiz sınıfı (üst sınıf) kalıtımda tanımlarız ve yürütme sırasında değiştirilemez.
Sınıf Birleştirme Farklı sınıflardan işlevselliği birleştirme yeteneği, kompozisyon aracılığıyla sağlanır. Bu durumda sadece bir sınıfı genişletebiliriz; başka bir deyişle, Java birden çok kalıtımı etkinleştirmediği için birçok sınıf genişletilemez.
işlevsellik Composition, kullandığımız sınıfların üst sınıf mı yoksa alt sınıf mı oldukları konusunda endişelenmeden işlevselliğini test etmemize olanak tanır. Kalıtım, bir alt sınıfı test etmek için bir üst sınıfın kullanılmasını gerektirir.
Kod Yeniden Kullanımı Bileşim sayesinde son sınıflardan alınan kodlar bile yeniden kullanılabilir. Son sınıf kalıtım yoluyla genişletilemez.
İlişki Bu bir "var" durumudur. Bu bir "is-a" durumudur.

Kompozisyon nedir?

Bir kompozisyon, mülkiyetin ima edildiği bir toplama biçimidir. Bağımlılık vardır çünkü bir nesne diğerine bağımlıdır. Aşağıdaki nesneleri göz önünde bulundurun: bir okul nesnesi ve bir sınıf nesnesi. Okul nesnesi, sınıf nesnesinin var olması için gereklidir. Okul nesnesi yok edilirse sınıf nesnesi zarar görür. Sonuç olarak, bu iki öğe birbirine bağlıdır. Bu nedenle, aslında bir kompozisyon. Başka bir deyişle, bütün olmadan var olamayacaksa, bir şeye kompozisyon diyoruz.

OOP tarafından verilen sınıflar arasındaki diğer bir bağlantı, bir-a-ilişkisi olarak da bilinen kompozisyondur. Bir nesnenin özellikleri bir şekilde diğerinin özellikleriyle birleştirilmek zorundaysa, ilişki kompozisyonu gerektirir. Üst sınıftan yeni bir sınıf oluşturmak için her sınıfın nesnesi mevcut sınıfın bir üyesi olarak bildirilmelidir.

Kompozisyon, bir nesnenin başka bir nesne içinde kullanılması olarak tanımlanır. Bir varlık herhangi bir sınıfta düzenli olarak alan olarak kullanılabilir. Kompozisyonda, bir sınıfın parçası olan bir varlık kullanırlar. Öğe bileşimi, sınıf mirasından farklı olarak, diğer nesnelerle bağlantılar elde eden varlıklar tarafından çalışma zamanında sürekli olarak tanımlanır.

Miras nedir?

Kalıtım, yeni bir sınıfın mevcut bir sınıfın niteliklerini ve yöntemlerini kullanmasıdır. Bu önceden var olan sınıf, ana sınıf, üst sınıf veya temel sınıf olarak adlandırılır. Yeni sınıf, bir alt sınıf, alt veya türetilmiş sınıf olarak adlandırılır. Kalıtım nedeniyle, yaratıcının kodu baştan yazması bile gerekmez. Yeni sınıfta türetilmiş bir fikrin niteliklerini ve yöntemlerini yeniden kullanmak için kalıtımı kullanabilir. Sonuç olarak, kalıtım, kodun yeniden kullanımını iyileştirir. Kalıtım, doğası gereği tek düzeyli, çok düzeyli, hiyerarşik, Çoklu ve Hibrit olabilir.

Yeni bir sınıf oluşturmak istiyorsak ancak ihtiyacımız olan bazı kodlara sahip bir sınıf var gibi görünüyorsa, yeni sınıfımızı mevcut sınıftan çıkartabiliriz. Mevcut sınıfın özelliklerini ve yöntemlerini kendimiz yazmak yerine yeniden kullanabiliriz. Bir alt sınıf, üst sınıfının temsilcilerinin çoğunu devralır. Yapıcılar katılımcı değildir, bu nedenle alt sınıflara aktarılmazlar, ancak üst sınıfın işlevi Object() { [yerel kod] } alt sınıftan çağrılabilir.

Kompozisyon ve Kalıtım Arasındaki Temel Farklılıklar

Çözüm

Karmaşık sınıfları önceden yazılmış, iyi tasarlanmış sınıfları kullanarak oluşturmak daha kolay olduğundan, bazen bir nesneyi başka bir sınıf içinde alan olarak kullanmak isteyeceksiniz. İşte burada kompozisyon yeteneği devreye girer. Kalıtım, bir sınıfı az çabayla genişleterek kodu yeniden kullanmanıza izin verdiğinden, sınıflar arasında ilişkiler oluşturmak için kullanışlı bir araçtır.

Kompozisyon genel olarak tercih edilir, çünkü bir nesneyi dahili verilerini kaybetmeden kullanmanıza izin verir, bu da kompozisyonun kullanışlı olduğu yerdir. Kalıtımın dezavantajları olsa da, nesne oluşturma, nesne oluşturma ve yok etme açısından benzer performans sorunları doğurur.

Kompozisyon ve Kalıtım Arasındaki Fark (Tablolu)