Nesneye Dayalı Programlama (OOP) genellikle yazılım geliştirmek için kullanılır. Birçok programlama dili nesne yönelimli programlamayı destekler. Nesneye yönelik programlama, sınıfları ve nesneleri kullanarak bir program tasarlamak için kullanılan bir metodolojidir. OOP'ta bir sınıf, bir nesne oluşturmak için kullanılan bir taslaktır. Bir sınıfın özellikleri ve yöntemleri vardır. Nesne bir sınıf örneğidir. OOP Kalıtım, Polimorfizm, Soyutlama ve Kapsülleme gibi dört sütun içerir. Bu makalede, OOP polimorfizm ve kalıtım arasındaki fark tartışılmaktadır. temel fark OOP Polimorfizm ve Kalıtım arasında Çok biçimlilik, bir nesnenin birden çok şekilde davranabilme yeteneğidir ve Kalıtım, var olan bir sınıfın özelliklerini ve yöntemlerini kullanarak yeni bir sınıf yaratmaktır.
1. Genel Bakış ve Temel Fark
2. OOP'da Polimorfizm nedir
3. OOP'ta Kalıtım Nedir?
4. OOP'da Polimorfizm ve Kalıtım Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - Tablo Şeklinde OOP'de Polimorfizm ve Kalıtım
6. Özet
Polimorfizm çoklu formları göstermektir. Bir nesnenin birden fazla davranışı olabilir. Çok biçimlilik iki kategoriye ayrılabilir. Aşırı yükleniyor ve geçersiz kılıyorlar.
Java ile yazılmış aşağıdaki programa bakın.
Resim 01: Aşırı yükleme
Yukarıdaki programa göre, A tipi bir nesne yaratılır. Obj.sum () çağrılırken; yöntem sum () ile ilgili çıktıyı verecektir. Obj.sum (2,3) çağrılırken; toplamla ilgili çıktıyı verecektir (int a, int b). Aynı nesnenin duruma bağlı olarak farklı davranışlara sahip olduğu görülebilir. Aynı ada sahip, ancak farklı parametrelere sahip birden çok yöntem olduğunda, aşırı yükleme. Olarak da bilinir statik bağlama veya zaman polimorfizmini derlemek.
Başka bir polimorfizm türü ağır basan. Java ile yazılmış aşağıdaki programa bakın.
Figure 02: Geçersiz kılma
Yukarıdaki programa göre, A sınıfında bir yöntem display () vardır. B Sınıfı A sınıfından uzanır. Bu nedenle, A sınıfındaki tüm yöntemlere B sınıfı tarafından erişilebilir. Kalıtım kavramı daha sonra açıklanacaktır.
Sınıf B'de aynı yöntem display () vardır. A tipi bir nesne oluştururken ve görüntüleme yöntemini çağırırken, çıktı B'yi verecektir. A Sınıfı görüntüleme yöntemi, B sınıfı görüntüleme yöntemiyle geçersiz kılınır. Yani, çıktı B.
Aynı ada ve aynı parametrelere sahip ancak iki farklı sınıfta yöntemler olduğunda ve bunlar kalıtımla bağlantılı olduğunda, geçersiz kılma olarak bilinir. Olarak da bilinir Geç bağlanma, Dinamik Bağlanma, Çalışma Zamanı Polimorfizmi. Aşırı yükleme ve geçersiz kılma polimorfizm olarak adlandırılır. Nesneye Yönelik Programlamada önemli bir kavramdır.
Java ile yazılmış aşağıdaki programa bakın.
Şekil 03: Kalıtım Örneği
Yukarıdaki programa göre, A sınıfı yöntem sum () yöntemine ve B sınıfı yöntem sub () yöntemine sahiptir.
Sınıf A'nın sum () yöntemi, sınıf anahtar kelimesini kullanarak B sınıfında kullanılabilir. Yeni bir sınıf oluşturmak için varolan bir sınıftaki özelliklerin ve yöntemlerin yeniden kullanılması Devralma olarak bilinir. B sınıfında sum () yöntemi olmasa bile; A sınıfından miras alınır. Kalıtım, kodun yeniden kullanılabilirliği için kullanışlıdır. Eski sınıfa temel sınıf, üst sınıf veya ebeveyn sınıfı. Türetilmiş sınıfa alt sınıf veya çocuk sınıfı.
Çeşitli kalıtım türleri vardır. Bunlar Tek Seviyeli Miras, Çok Seviyeli Miras, Çoklu Miras, Hiyerarşik Miras ve Hibrit Miras.
Tek Kalıtım'da bir süper sınıf ve bir alt sınıf vardır. A sınıfı süper sınıf ve B sınıfı alt sınıfsa, A sınıfının tüm özelliklerine ve yöntemlerine B sınıfı tarafından erişilebilir. Yalnızca bir düzey vardır; bu nedenle, tek seviyeli kalıtım olarak adlandırılır.
Çok Seviyeli Miras'ta üç sınıf seviyesi vardır. Ara sınıf süper sınıftan miras alır. Alt sınıf, ara sınıftan miras alır. A, B ve C olarak üç sınıf varsa ve A süper sınıf ve B orta sınıftır. Sonra A ve C'den B miras alır ve B'den miras alır, bu Çok Seviyeli Mirastır.
Çoklu Kalıtım'da birçok süper sınıf ve bir alt sınıf vardır. A, B, C ve D olarak adlandırılan üç süper sınıf varsa, alt sınıf ise, D sınıfı A, B ve C'den miras alabilir. C ++ programlama dilinde Çoklu Kalıtım desteklenir. Java veya C # gibi programlama dillerinde desteklenmez. Arayüzler bu dillerde Çoklu Kalıtım uygulamak için kullanılır.
Süper sınıflar olarak A ve B, C alt sınıflar ise, bu alt sınıflar A sınıfının özelliklerini ve yöntemlerini devralabilir. Bu tür kalıtım türü Hiyerarşik Kalıtım olarak bilinir.
Hibrit Kalıtım olarak bilinen başka bir özel kalıtım türü daha vardır. Çok seviyeli ve çoklu kalıtımın bir kombinasyonudur. A, B, C ve D sınıflar ve B A'dan miras alırsa ve D hem B hem de C'den miras alıyorsa, o zaman bir Hibrit miras.
OOP'da Polimorfizm ve Kalıtım | |
Polimorfizm, bir nesnenin çeşitli şekillerde davranma yeteneğidir. | Kalıtım, var olan bir sınıfın özelliklerini ve yöntemlerini kullanarak yeni bir sınıf oluşturmaktır. |
kullanım | |
Polimorfizm, nesnelerin derleme zamanında ve çalışma zamanında hangi yöntem biçimini çağırması için kullanılır. | Kalıtım kod yeniden kullanılabilirliği için kullanılır. |
uygulama | |
Polimorfizm yöntemlerle uygulanır. | Kalıtım derslerde uygulanır. |
Kategoriler | |
Çok biçimlilik aşırı yüklenme ve geçersiz kılmaya ayrılabilir. | Kalıtım tek seviyeli, çok seviyeli, hiyerarşik, melez ve çoklu kalıtım olarak ayrılabilir. |
Çok Biçimlilik ve Kalıtım, Nesneye Yönelik Programlamanın ana kavramlarıdır. OOP'ta Polimorfizm ve Kalıtım arasındaki fark, Polimorfizmin birden çok forma ortak bir arayüz olması ve Kalıtım, mevcut bir sınıfın özelliklerini ve yöntemlerini kullanarak yeni bir sınıf yaratmaktır. Her iki kavram da Yazılım Geliştirmede yaygın olarak kullanılmaktadır.
Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlar için kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin OOP'da Polimorfizm ve Kalıtım Arasındaki Fark