Abstract Class Nedir?

Mysterious Developer
2 min readNov 1, 2022

--

Kalıtım yaparken bir sınıf üzerinden sınıf türetiriz ve üst sınıf içerisindeki özellikleri alt sınıfta kullanmayı hedefleriz. Abstract özellikte sınıf ve metot tanımlaması gerçekleştirdiğimiz zaman bizlere avantaj sağlayacaktır.Abstract (Soyut) sınıfların kullanımındaki amaç, nesne türetilirken şablon oluşturmaktır. Yani kalıtım yaparak kullandığımız abstract sınıf özelliklerini override işlemine tabi tutarak yeniden tanımlayabiliriz. Örnek olarak Audi,Bmw, Honda gibi markaları ele alalım. Bu örnek verdiğim markalarının birtakım ortak özellikleri ve birbirlerinden farklı özellikleri de bulunmaktadır. Hepsinin ortak noktasını düşünürsek hepsinin araba üreticisi olduğunu görürüz.

Java Abstract Class Kullanımı:

public abstract class AbstractExample { // Üst Sınıf
// Sınıf İçeriği Buraya.
public abstract void AbstractMetot(); // Abstract Metot Tanımlaması.
}

class Abs extends AbstractExample{ // Üst Sınıftan Alt sınıf türedi.
@Override
public void AbstractMetot(){

// Abstract Metot Override Edildi.
}
}

Abstract tanımlarken dikkat etmemiz gereken bir kaç nokta bulunuyor bunlar;

  • programımız içerisinde bir sınıf altında tanımladığımız bir metot soyut olarak tanımlandıysa, metodun tanımlandığı sınıf da mutlaka abstract (soyut) olarak tanımlanması gerekmektedir.
  • soyut sınıf içerisinde tanımlamasını yaptığımız abstract metot altsınıf içerisinde override edilmezse, kod derleme esnasında hata ile karşılanır.

!! Abstract Class ve metot kullanımı programlarımızda hız açısından avantaj sağlar.

Hadi gelin bu konuya da bir örnek ekleyerek zenginleştirelim…

soyut sınıf  Bisiklet {   
soyut geçersiz çalışma();
}
sınıf Honda4 , Bisikleti genişletir {
void run(){System.out.println( "güvenli bir şekilde çalışıyor" );}
public static void main(String args[]){
Bisiklet nesnesi = yeni Honda4();
obj.run();
}
}

çıktı:

güvenle koşmak

Bu konumuzda Abstract class nedir öğrenerek bunu bir örnek üzerinden deneyimlemiş olduk.

İyi çalışmalar dilerim, sevgiyle kalın 💐 :)

--

--

Mysterious Developer
Mysterious Developer

Written by Mysterious Developer

Enthusiastic Developer on Tech Stack

No responses yet