FAZLADAN YÜKLEME(OVERLOADING)

Bir metot farklı sınıflar içinde aynı isimle yer alabilir. Örneğin Robot ve İnsan sınıfımız olsun ve her iki sınıf içinde aynı isimde bir metodumuz olsun. Bu metodun ismi de bacak() olsun. Bacak hem robotta hem de insan da olması gereken bir işlevdir. Dolayısıyla her ikisinde de aynı isimle bulunabilir.

Bir metodun birden fazla durum için kullanılabilmesi metodun fazladan yüklenmesiyle gerçekleştirilir. Sınıfın içinde metodun kullanılması gereken her durumun tanımlanması gerekmektedir. Bu metot başka bir metot tarafından çağrıldığında metottaki tanım ve parametre dizilişine göre hangi tanımın geçerli olduğu belli olacaktır.

Daha net bir açıklama ile şunu söyleyebilirim. Farklı sınıflar içerisinde yer alan aynı isimli metotları Java’nın ayırt etmesi için farklı parametreler ve türünün farklı olması gerekir. Aynı isimden birçok metot oluşturabiliriz ve overload etmiş oluruz. Java’nın bunları ayırt edebilmesi için sadece parametre değerlerinin farklı olması veya metot türünün farklı olması yeterli olacaktır. Overload yaparken return’e de dikkat etmek gerekir. Mesela aynı isimli metotlarımız var ancak return ifadelerinin farklı olması overload yapmamıza izin vermez dolayısıyla kod yazarken buna da dikkat etmeliyiz. Hemen bir kod örneği ile overloading’i bitirelim.

ÖRNEK:

 

NOT: Aynı parametrelere sahip farklı türden olan iki metot aynı sınıf içerisinde yer alamaz. Bunun nedeni ise Java hangi metodu çalıştıracağını bilemez bundan dolayı hata verir. Mutlaka parametre değerlerinin farklı olması gerekir.

 

 

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.