Polymorphism Nedir?
Poly “çok” morph ise “form”, “biçim” anlamlarını taşır. Bu ikisinin birleşimiyle oluşan “polymorphism” sözcüğü “çok biçimlilik” anlamına gelir.
Özetle, oluşturulan nesnelerin gerektiğinde kılıktan kılığa girip başka bir nesneymiş gibi davranabilmesine polymorphism diyebiliriz. Bunlar program kodlarının yeniden kullanılabilmesi veya var olan kodun geliştirilebilmesi açısından çok önemlidir.
Calisan sınıfı ad, soyad, sicil numarası ve doğum yılı parametlerine alan yapılandırıcıya ve değişkenlere sahiptir. Ancak biz bugün gorevTanimi() metodu ile ilgileneceğiz.
BeyazYakali ve MaviYakali sınıfları Calisan sınıfının alt sınıflarıdır.
Main class içerisinde üç sınıftan da nesne oluşturalım ve içerisinde tanimla() isminde bir başka metot daha tanımlayalım. Bu metot Calisan sınıfından parametre kabul ediyor olsun.
Her beyaz yakalı, çalışan mıdır ?
Evet, tasarıma göre çalışandır.
Her mavi yakalı, çalışan mıdır ?
Evet, tasarım değişmediği sürece çalışandır.
Kısaca her alt sınıf nesnesi aynı zamanda üst sınıf nesnesi olarak nitelendirilebildiğinden çalışan gibi davranabilir. Dolayısıyla tanimla() metodu BeyazYakali ve MaviYakali sınıfından nesneleri Calisan nesnesi olarak kabul edebilir.