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ı direkt 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 olarak kullanan 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.

One thought on “Java Abstract,Soyut Sınıf Nedir? ne işe yarar? nasıl kullanılır?

Leave a Reply

Your email address will not be published. Required fields are marked *