Java abstract,soyut sınıf nedir? ne işe yarar? nasıl kullanılır?

Java da nesneler somut ve soyut olarak tanımlabilir. Bazen oluşturulan nesneler direkt olarak kullanılmazlar ve kendisinden başka nesneler türetilsin diye yazılır. Bu durumdaki sınıflara abstract(soyut) sınıflar denir.

Abstract class yazımı ve kullanımı örneği aşağıdaki kod bloğundadır.

Soyut(abstract) class

public abstract class Human {
    
}

Somut(concrete) class

public class Student extends Human {

}

Abstract sınıfı direk kullanamayız demiştik yani

// bu kullanımda hata alırız
Human human = new Human()

şeklinde bir kullanıma izin verilmez.

Şu şekilde bir tanımlama ise mümkündür.

Human human = new Student();

Bu kullanımda ise “Student” oluşturuluyor onun sadece “Human” a özgü özellikleri ile ilgilenildiği bildirilmektedir.

Somut class beklenen bir değere ise onu miras olan sınıfı gönderebilirsiniz. Yani “Human” tipinde bir nesne beklenen yere “Student” tipinde bir nesne gönderebilirsiniz.
Örnek bir kod ile işe şöyle tarif edebiliriz.

public void addHuman(Human human) {
    
}
Student student = new Student();

addHuman(student);

Java da çok kalıtıma(multi inheritance) izin verilmez, bu şekilde bir işlem yapmak için ise “interface” kullanmalısınız.

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on StumbleUpon0Share on Reddit0

Leave a Reply


*