Java Abstract Class Kullanımı
Bu yazıda Java Abstract Class Kullanımı’na değineceğim. Abstract Class, yani soyut sınıflardır. Soyut Sınıfların ortak özelliklerini kullanabilmekteyiz. Soyut Sınıflar kendisinden türeyen sınıflardır. Soyut sınıflardan nesne oluşturulamaz. Bunun yerine extends edilerek yeni sınıflara o özelliği kullanılarak soyut metodlar üretilir.
Soyut metotlar alt sınıflar için extends edildiği sınfın özelliklerini kullanarak farklı sonuçlar üretir.Her alt sınıfa da override edilmek zorundadır. Başka nesnelerden bağımsız ve habersiz bir şekilde çalışır. Yazılımlarımızda bir işin belirli özelliklerini tekrar tekrar kullanma durumunda kaldığımız zamanlarda aynı işin farklı metodlarını çağırarak işlem yapmamıza olanak sağlamaktadır. Kalıtım yani özelliklerin miras edilmesi gibi bir durumu kullanmak istiyorsak Abstract kullanmalıyız. Soyut sınıflarda new anahtar sözcüğü ile bir nesne üretilmemektedir. Extends yapılarak sağlanmaktadır. Programcı için Soyut Sınıf esnek değildir.
Daha açıklayıcı olmak gerekirse. Bir arabamız var ancak her arabanın yapılış şekli modeli, cinsi, fiyatı gibi özellikler farklılıklar göstermektedir. Bu farklılıklar ne kadar büyük ya da az olursa olsun “Araba” olduğu gerçeğini değiştirmeyecektir. Her farklı model’e sadece Araba diyip geçemeyiz bu kullanım yönteminde model, fiyat farklılıklarının kullanabilmekteyiz sadece.
Kullanım Şekli
public abstract class SINIF_ADI //sınıf tanımlaması { public abstract METOD(); //soyut method tanımlaması } public class SINIF_ADI extends TURETILEN_SINIF //alt sınıf tanımlaması { }
Örnek
Öğrenci’nin özelliklerini belirten bir örnek. Her öğrencinin farklı özelliklerin bulunduğu bir Soyut sınıftır. Ad, Soyad ve Numara bilgileri Öğrenci sınfının bir özelliğidir ve bu özellikler sadece Öğrenci sınıfından türetilir.
public abstract class Ogrenci_Sinifi { private String ad; private String soyad; private int numara; public abstract String getAd(); public abstract String getSoyad(); public int getNumara() { return this.numara; } public class Ogrenci extends Ogrenci_Sinifi { public String getAd() { return "Burak"; } public String getSoyad() { return "Kutbay"; } public int getNumara() { System.out.println(super.getNumara()); return super.getNumara(); } } }
No Comment! Be the first one.