Get Set Yöntemleri ,Kalıtım(Inheritance), Ezme(Aşırı Yükleme,Overriding)
Merhaba Arkadaşlar ;
Bu notumda size javaSE ile ilgili Get Set Yöntemleri ,Kalıtım(Inheritance),Ezme(Overriding) özelliklerinden bahsedecegim.
İlk olarak Get ve Set Yöntemlerinden bahsedelim. İlk olarak mesela bir Çalışanlar diye sınıfımız olsun(Çalışanlar sınıfımızı veritabanımızdaki bir tablo olarak düşünelim )..
pubilc class Calisanlar{
}
Sınıfımızı oluşturduk peki bize şimdi ne lazım nesnelerimiz . Sınıfımızda oluşturduğumuz nesneleri tablomuzdaki alanlar (field) olarak düşünelim mesela Çalısanlar tablomuzda neler olabilir çalışanın ; adı , soyadı , aldığı maaş , çalıştığı bölümü vs . Sınıfımızın içini yavaş yavaş nesnelerimizle dolduralim.
Bu alanların özel yani private olarak tanımlanacak olmaları. Bunun sebebi, her zamanki gibi kapsülleme (Encapsulating). Kapsüllleme sayesinde, sınıfımız içinde kullandığımız alanların dışarıdan her hangibir etki ile doğrudan değiştirilemelerini engellemiş oluyoruz. Bu durum bizim isteğimiz dışında oluşabilecek atamaların önüne geçmemize ve illede bu alanların değerleri değişecekse bizim belirlediğimiz bir çizgide olmasına neden oluyor. Bu da programcılıkta ve özellikle nesne yönelimli programlamada çok büyük bir yere sahip olan Kontrol’ün elimizde olmasını sağlıyor.
Şimdi yöntemlerimizin(Method) isimlerimine baktığımızda get ve set takıları geliyor isimlerinin başinda , şöyle düşünelim veritabanına bir çalışan kaydettiğimizi , inputlardan gelen degerleri Çalışanlar sınıfımızdan aldığımız bir nesneye göndermemiz lazım .
Mesela;
Kod parçasında gördüğünüz gibi ilk olarak çalışanlar sınıfından referans alıyoruz ve yöntemlerine gönderiyoruz(set) giriş yaptığımız değerleri . Aynı şekilde aldığımız referans sayesinde yöntemlere gönderdigimiz değerleri çekebiliyoruz . yöntemleri veritabanına gönderdiğimizde sql kod parçamıza aldığımız referans sayesinde set etme imkanımız var .
Gelecek yazılarımda JDBC ile Connectin kurma konusunda bunu anlatacağım..
Kalıtım(Inheritance)
Gelelim kalıtım konusuna bir sınıfın başka sınıfın özellilerini ve yöntemlerini almasına kalıtım deniliyor.Bu sayade birden fazla sınıfta ortak olan özellik ve yöntemler gereksiz yere tekrar edilmemiş olur. Gerçek yaşamda çoğu şey kalıtım esasına göre var olmaktadır .Mesela güvercin bir kuştur . bir güvercinin kuş oldugu biliniyorsa , kuşunda kanatlarının olduğu biliniyorsa , güvercininde kanatlarının olduğunu biliriz . Kuşların ortak özellikleri nelerdir kanatları var uçarlar. Ama güvercininde kendine has özellikleri var (Mesela taklacı bir güvercin olabilir , rengi vs.)
Kalıtım için javada Extends(Genişletir) sözcüğü kullanılır . Kod parçasında görecek olursak .
Mesela
Güvercin ve kuş için bir örnek yapalım .
Javada her sınıf bir diğerinden türetilmiştir. Belli bir sınıftan extends edilmeyen bir sınıf java.lang paketindeki Object(nesne) sınıfından extends edilmiş sayılır. Object sınıfı bilindiği gibi bütün sınıflarda ortak olan yöntemleri içerir ve buda onu tüm sınıfların atası konumunda olduğunu gösterir.
Ezme, Aşırı Yükleme (Overriding)
Türkçe anlamı ezme aşırı yükleme vs gibi terimlerle söylenir daha çok . Bu konuyu gene kalıtımda verdığım örnekten yola çıkarak anlatmaya çalışacağım arkadaşlar ..
Diyelimki Kus sınıfımızın bir yöntemi var uçmak diye .. Bizim birde Güvercin sınıfımız var ve Kuş Sınıfımızı extends ediyoruz Güvercin sınıfımıza , sonra Kuş sınıfımızın uçmak yöntemini Güvercin sınıfımızda kullanıyoruz. Kullandığımız zaman aşırı yüklemiş oluyoruz Kuş sınıfının yöntemini . Kod parçasıyla daha iyi anlaşılacaktır.
Kendinize iyi bakın . Görüşmek Üzere…
Mehmet KILIC
Java ₰ J2EE
1 Response