Polimorfizm Nedir?

Yazılım programlamasında nesne yönelimli programlama (OOP), gerçek dünyadan nesneler yaratmaya çalışan bir çerçevedir. Polimorfizm teorisi ve pratiği, OOP prensipleri içerisinde şiddetle teşvik edilmektedir. Genel olarak, temel özelliklere ve davranışlara sahip olmak için, belirli bir tür haline geldiğinde bunların değişeceği anlayışıyla bir nesne yaratılmalıdır.

Polimorfizm, programda birden fazla anlamı olan bir değişkene, fonksiyona veya bir nesneye sahip olma yeteneğidir. Polimorfizmi gösteren çok sayıda mimari tasarım vardır. Bu tasarımlar, bir nesnenin uygulama içinde çok amaçlı olarak nasıl tekrar kullanılacağını gösterir.

Pek çok programlama dili, polimorfizm kullanımını destekler. Bu işlem, bir uygulama boyunca iş kurallarının ve yazılım kodunun yeniden kullanılmasını sağlar. Programlama dillerinin tümü tam polimorfik davranışı desteklemez, ancak çoğu temel konsepti destekler. Java®, .net ve C ++ ® dahil tüm gerçek OOP dilleri daha gelişmiş yaklaşım ve teknikleri desteklemektedir.

Bir banka hesabı, polimorfizmi destekleyebilecek temel bir nesne örneğidir. Tüm banka hesaplarında hesap numaraları, adlar ve bir bakiye vardır. Bir hesabı benzersiz yapan hesap tipidir. Bazı tür örnekleri tasarruf hesapları, çek hesapları veya para piyasası hesaplarıdır. Polimorfizmde, bir banka hesabı, temel banka hesabının özelliklerini kullanan daha spesifik hesapları içeren temel nesne olacaktır. Her hesap, daha sonra faiz oranlarını desteklemek için ek davranışlara veya bir banka hesabı hakkındaki bilgileri tekrar kullanırken para çekme işlemlerine sahip olabilir.

Polimorfizm teorilerini kullanmak, kodları azaltarak geliştiricilere zaman kazandırır. Kodun yazılmasını ve başkalarının anlamasını kolaylaştırır. Ek olarak, yazılımı genişletilebilir kılar, çünkü gelecekteki türler daha sonra varolan kod içindeki temel ata nesnesi kullanılarak eklenebilir. Genel olarak, bu şekilde geliştirilen uygulamalar gelecekteki değişiklikler için daha az kod gerektirerek daha esnek ve daha kolaydır.

Polimorfizm teorileri de fonksiyonlar için geçerlidir. İşlev, belirli bir görevi yerine getiren bir yazılım kodu parçasıdır. İşlevler ayrıca polimorfik bir şekilde yazılabilir. Bu yaklaşım kodu daha esnek hale getirir, çünkü işlevler yazılımdaki diğer iş kuralları için yeniden kullanılabilir.

Bir işlevi olan polimorfizmin iyi bir örneği bir sıralama işlevi olabilir. Bu tür bir işlev, bir numara listesini sıralar. Çok biçimli bir işlev yalnızca sayıları sıralamakla kalmaz aynı zamanda herhangi bir nesne türünü de sıralayabilir. Bu, işlevi daha verimli hale getirir, çünkü birden fazla veri türünde çalışır.