Java’da Overload Ve Override Nedir? (Method Tetikleme)

İŞ methodlar yazma konusunda geldiğini zaman temel kavramlardan bir taneside Overload ve Override işlemidir.

Overloading Yapısı

Öncelikle kelime anlamı olarak aşırı yükleme anlamına gelir.En kolay şekilde şöyle özetleyeli methodlara farklı şekillerde tetikleme işlemine denir.Şimdi örneğimize bakalım.

  • öğrenci isminde oluşturdum ve içine not hesap altında parametre olan bir method yazdım.
  • Ardından klasik olarak nesne oluşturdum
  • nesne üzerinden not hesap isimli Paremetre alan methdoa gereki 3adet parametre verdim.
  • Ardından ekrana çıktıyı aldım.

Tamam Buraya Kadar Zaten Sorun yok ? Peki öğrencimizi sadece vize ve final notu olan bir öğrenci ise ? O zaman ne yapacaktık ? nothesap methodunu çağırdığımız zaman 2 parametre girdiğimizde ise hata verecektir .

O halede ne yapamız gerekiyor bize hem 3 adet parametre alan hemde yeri geldiğinde sadece 2 adet parametre alan method lazım .

Şimdi daha önceden oluşturduğumuz class’a geri dönelim.

  • nothesap adında sadece 2 adet Paremetre alan aynı türde aynı isimde method ekledim.

Şimdi gördüğümüz gibi hata mesajıda almadık çünkü hem 2 adet parametre 3 adet parametre alan methodumuz var.

Farkettiniz mi ?

Method isimleri aynı ? Aynı olmasına ragmen biz o mehtodu çağırıp duruma bize hangi paramterili method gerekli ise onu çağırıp işlem gerçekleştirebildik.İşte biz tam da şuan Overload işlemi yaptık hayırlı olsun 🙂

Override Nedir ?

Override işlemi olduka önemli .Bir proje geliştirirken methodları nasıl yöneteceğimizi bilmemiz gerekiyor.Örnek vermek gereksi bir üst sınıftan gelen bir methodu biraz düzenleyip ona göre çağırma işlemine Override diyoruz.

Şimdi bir örnek yapalım.

  • Öncelikle bisiklet sınıfı tanımlayalım.
  • Arında 2 adet method yazdım.
  • Elektrikli bisiklet isimli bir sınıfı tanımlayıp .Extends ile bisiklet sınıfında ki özellikleri artık kullanabiliriz
  • Override keyi ile bisiklet sınıfında ki methodları birebir olarak elektrikli bisiklet isimli sınıfın içine tekrar yazdım.

Şimdi ise main kısmındayım.

  • Elektrikli bisiklet sınıfı üzerinden nesne yarattım.
  • nesnem üzerinden Override ettiğim methodları tetiklerim.

Şimdi Biz Ne Yaptık ?

Bir üst sınıfımız olan bisiklet sınıfın içersinde ki methdoalrı Overide ederek bir ezme işlemi yaparak kullandık.Şimdi her şeyi Overide işlemine tabi tutamayız .

Neleri Override Edemeyiz ?

Öncelikle Private methodları hatırlarsanız gizli dediğimiz bir yapay sahipler ve diğer sınıflar erişemeyeceği için override işleminde bunu kullanmayız.Ayrıca static ve final methodlarını aynı şekilde Override edemeyiz.Override medhotları erişim türleni düşürme işlemi yapamayız sadece arttırma işlemi yapamyız.Ayrıca Override edilen methodun return değeri ve tipi değiştirilemez

Burda mehtodları kendi gereksinimlerimize göre kullandık .

Leave a Reply

*