Mart 26, 2023
11 11 11 ÖÖ
2048 Old Game Privacy Policy
Scan Text – Metin Tarayıcı Terms & Conditions
Scan Text – Metin Tarayıcı Privacy Policy
Calculator – Hesap Makinesi Privacy Policy
Calculator – Hesap Makinesi Terms & Conditions
QR Code Reader – Kare Kod Okuyucu Terms & Conditions
QR Code Reader – Kare Kod Okuyucu Privacy Policy
Show PDF – PDF Görüntüleyici Terms & Conditions
Show PDF – PDF Görüntüleyici Privacy Policy
Photo Editor – Resim Düzenleme Uygulaması Terms & Conditions
Son Yazılar
2048 Old Game Privacy Policy Scan Text – Metin Tarayıcı Terms & Conditions Scan Text – Metin Tarayıcı Privacy Policy Calculator – Hesap Makinesi Privacy Policy Calculator – Hesap Makinesi Terms & Conditions QR Code Reader – Kare Kod Okuyucu Terms & Conditions QR Code Reader – Kare Kod Okuyucu Privacy Policy Show PDF – PDF Görüntüleyici Terms & Conditions Show PDF – PDF Görüntüleyici Privacy Policy Photo Editor – Resim Düzenleme Uygulaması Terms & Conditions
java

Java Soyut (Abstract) Sınıflar

Paylaşım , Takip İçin

Javada soyut abstract sınıflar bizim kullanmak istemediğimiz veya direkt, arka planda kullanmak istediğimiz sınıf durumlarında kullanılır. 

Soyut (Abstract) Sınıf Nedir ?

  • Bazı programlama yaklaşımlarında üst sınıfların direkt olarak kullanılması istenmeyebilir.
  • Bu gibi durumlarda soyut sınıfları kullanmak bize avantaj sağlar.
  • Soyut sınıfların amacı, farklı özellikte nesne türetirken bir şablon oluşturmaktır.
  • Soyut sınıfta tanımlanan şablonlar, bu sınıfı miras alan alt sınıflarda override edilerek yeniden tanımlanır.
  • Soyut sınıflar tanımlanırken class anahtar kelimesinden önce abstract kelimesi kullanılır.

Abstract (Soyut) Sınıf Özellikleri

  • Soyut sınıflar kullanılarak, bu sınıflardan bir nesne oluşturamazsınız.
  • Soyut sınıflar ancak kendilerinden bir alt sınıf türetmek için kullanılan sınıflardır. Bir nevi şablon yada taslak gibi düşünülebilir.
  • Soyut sınıflar içerisinde metot ve yapılandırıcılar (constructors) kullanılabilir.
  • Soyut sınıflar içeresinde soyut metotlar tanımlanabilir. (abstract methods)
  • Soyut metotların bir gövdesi yoktur ve alt sınıfta mutlaka override edilmelidirler.
  • Şimdi bu söylediklerimizi bir örnekle özetleyelim.

Örnek

public abstract class Kisi {

  String adSoyad;

  String dogumTarihi;

  char cinsiyet;

  public Kisi(String adSoyad, String dtarih, char cinsiyet) {

  this.adSoyad=adSoyad;

  this.dogumTarihi=dtarih;

  this.cinsiyet=cinsiyet;

  }

  public String getAdSoyad() {

  return adSoyad;

  }

  public void setAdSoyad(String adSoyad) {

  this.adSoyad=adSoyad;

  }

  //Soyut bir metot tanımladık.

  public abstract void kisiBilgileri();

}

Soyut Sınıfı Kullanan Alt Sınıf

public class Ogrenci extends Kisi {

 long ogrNo;

 String bolum;

 public Ogrenci(String adSoyad, String dtarih, char cinsiyet, long ogrNo, String bolum) {

   super(adSoyad,dtarih,cinsiyet);

   this.ogrNo=ogrNo;

   this.bolum=bolum;

 }

 @Override

 public void kisiBilgileri() {

   System.out.println("Kisi adı Soyadı:"+getAdSoyad());

   System.out.println("Öğrenci Numarası:"+ogrNo);

   System.out.println("Doğum tarihi:"+ super.dogumTarihi);

   System.out.println("Bölümü:"+this.bolum);

 }

 public static void main(String[] args) {

   Ogrenci ogr=new Ogrenci("Micheal Scofield", "10/10/1990",'B', 123456, "Human");

   ogr.kisiBilgileri();

 }

}

Soyut Metotların Override Edilmesi

  • Önceki örneğe dikkat edecek olursak Kisi soyut sınıfından Ogrenci adında bir alt sınıf türettik.
  • Kisi sınıfında tanımlı olan:

  public abstract void kisiBilgileri();

  • Soyut metodu Ogrenci sınıfı içerisinde overrride edilerek yeniden tanımlanıyor.
  • Soyut metotlarda aynı soyut sınıflar gibi alt sınıf içerisinde tanımlanmadan kullanılamazlar.
  • Soyut sınıf içerisindeki diğer metot ve üye değişkenlere ise alt sınıftan erişilebilir.

Overriding Örneği

Kisi.java

//Soyut bir metot tanımladık.

public abstract void kisiBilgileri();

Ogrenci.java

@Override

public void kisiBilgileri() {

System.out.println("Kisi adı Soyadı:"+getAdSoyad());

System.out.println("Öğrenci Numarası:"+ogrNo);

System.out.println("Doğum tarihi:"+ super.dogumTarihi);

System.out.println("Cinsiyet:"+cinsiyet);

System.out.println("Bölümü:"+this.bolum);

}

Abstract sınıflar dışında diğer java konuları için —— Java


Paylaşım , Takip İçin
0 0 votes
Article Rating

Bir Cevap Yazın

0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
HAYALİNDEKİ YAZILIM
%d blogcu bunu beğendi: