Kalıtım üzerine kompozisyon, bir uygulamadaki nesneler arasında daha dinamik ve değişken ilişkiler kurmaya yardımcı olmak için nesne yönelimli programlama dillerinde kullanılan bir programlama metodolojisidir. Kalıtım üzerindeki kompozisyon için temel biçim, bir nesnenin bir örneğinin başka bir nesnenin içine dahil edilmesidir. Bu, nesne yönelimli miras metodundan belirgin bir şekilde farklıdır, ancak birçok modelde aynı amaca hizmet edebilir. Bileşimin kalıtımsallık üzerindeki avantajları, birleşik kalıtım hiyerarşisini etkilemeden birleştirilen nesneler ve sarıcı nesneler arasında iyi tanımlanmış sınırları, bir bütün kalıtım hiyerarşisini etkilemeden bir nesnenin uygulanmasını değiştirme kabiliyetini ve başlangıç program tasarımı için daha az kısıtlayıcı bir çerçeveyi içerir. Bununla birlikte, bazı komplikasyonlar serileştirme zorluğu ve büyük, kurulu programlarda aşırı karmaşık yapılar içerebilir.
Nesne yönelimli programlamada, tasarım sırasında oluşturulması önemli olan özelliklerden biri, farklı nesnelerin birbirleriyle olan ilişkisidir. Kalıtım, nesne yönelimli programlamada merkezi bir mekanizmadır ve bir nesnenin daha sonra kendi uygulamasıyla ekleyebileceği, değiştirebileceği ya da uzatabileceği üst veri ve yöntemlerin miras almasına izin verir. Mirasa dayalı bir tasarım örneği, bir otomobil tanımlayan ve tüm otomobillerin genel niteliklerini modelleyen bir ana sınıfa sahip bir programla olabilir. Her bir otomobil markası için olan sınıf, daha sonra ana sınıfın bir ürünü olarak yapılır ancak motorun büyüklüğü, yakıt kapasitesi veya belirli bir otomobil markasına özgü diğer bilgiler gibi spesifik bilgileri tanımlar.
Kompozisyon, diğer nesnelerin içine nesne örnekleri eklenerek ifade edilir. Genel bir otomobil tanımlayan bir ana sınıf varsa, belirli otomobil markaları için alt sınıflar oluşturmak yerine, ana sınıf otomobili daha spesifik olarak tanımlayan diğer nesnelerin örneklerini içerebilir. Bu, ana otomobil sınıfının motor tipi için bir nesneyi ve sınıf belirli bir otomobil markasını oluşturmak için kullanıldığında ayarlanacak olan yakıt kapasitesi için bir nesneyi içerebileceği anlamına gelebilir.
Kalıtım üzerindeki kompozisyon ile, ana sınıfta yer alan nesneler, ana sınıfla doğrudan ilişkili değildir ve geliştiricilere bireysel nesnelerin çalışma şeklini değiştirme özgürlüğü verir. Kalıtım üzerindeki bileşimin önlemeye yardımcı olabileceği bir husus, bir kalıtım ağacının aşırı derin olabileceği bir durumdur; bu, ağaçtaki bir sınıfta yapılacak herhangi bir değişikliğin ağacın uzunluğunda değişiklik gerektirebileceği anlamına gelir. Nesneye yönelik dillerin hepsinde birden fazla miras desteği yoktur ve mirasa ilişkin kompozisyon, bu kısıtlama çerçevesinde çalışmak için kullanılabilecek bir yöntemdir.


