Ekim 18, 2021
11 11 11 ÖÖ
TCP nedir ? Aktarım Katmanı 2
Aktarım Katmanı Tcp Nedir
Yönlendirme Nedir 2 ?
Yönlendirme Nedir ?
Ağ Katmanı Nedir 2 ?
Ağ Katmanı Nedir ?
Veri Bağı Katmanı Nedir 2 ?
Android Studio Nasıl Kurulur ?
Veri Bağı Katmanı Nedir ?
Fiziksel Katman Nedir ?
Son Yazılar
TCP nedir ? Aktarım Katmanı 2 Aktarım Katmanı Tcp Nedir Yönlendirme Nedir 2 ? Yönlendirme Nedir ? Ağ Katmanı Nedir 2 ? Ağ Katmanı Nedir ? Veri Bağı Katmanı Nedir 2 ? Android Studio Nasıl Kurulur ? Veri Bağı Katmanı Nedir ? Fiziksel Katman Nedir ?
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
()
x
HAYALİNDEKİ YAZILIM
%d blogcu bunu beğendi: