Java SE Ders26 - Abstract (Soyut) Kavramı
Alt sınıfları için zorunlu override şartı getiren sınıflara abstract (soyut) sınıf denir.
Abstract (soyut) sınıfın özellikleri aşağıda listelenmiştir.
- Abstract (soyut) sınıf en az bir tane abstract (soyut) metot yani sadece signature'ü (imza) bulunan metot bulundurur.
- Abstract (soyut) sınıfın nesnesi oluşturulamaz.
- Abstract (soyut) sınıftan türetilen sınıfta üst sınıfın abstract metodu override edilmelidir.Aksi halde o da abstract sınıf olmuş olur ve nesnesi oluşturulamaz.
- Abstract (soyut) sınıfta tanımlanmayan abstract (soyut) metot, alt sınıflarda tanımlanması zorunlu kılarak polimorfizme (polymorphism) katkı sağlar.
- Bir sınıf veya bir metot abstract anahtar kelimesi ile abstract (soyut) yapılır.abstract anahtar kelimesi erişim belirtecinden hemen sonra koyulur.
Main.java
package test; public class Main { public static void main(String[] args) { Sekil s1 = new Kare(4); Sekil s2 = new Ucgen(2, 11); System.out.println("Kare alan\t: " + s1.alanHesapla()); System.out.println("Ucgen alan\t: " + s2.alanHesapla()); } }
Sekil.java
package test; public abstract class Sekil { public abstract int alanHesapla(); }
Kare.java
package test; public class Kare extends Sekil { private int kenar; public Kare() { } public Kare(int kenar) { this.kenar = kenar; } @Override public int alanHesapla(){ return kenar*kenar; } public int getKenar() { return kenar; } public void setKenar(int kenar) { this.kenar = kenar; } }
Ucgen.java
package test; public class Ucgen extends Sekil { private int taban, yukseklik; public Ucgen() { } public Ucgen(int taban, int yukseklik) { this.taban = taban; this.yukseklik = yukseklik; } @Override public int alanHesapla() { return (taban * yukseklik) / 2; } public int getTaban() { return taban; } public void setTaban(int taban) { this.taban = taban; } public int getYukseklik() { return yukseklik; } public void setYukseklik(int yukseklik) { this.yukseklik = yukseklik; } }
Yorumlar
Yorum Gönder