instagram twitter linkedin github youtube

1.6.18

Abstract(Soyut) Sınıflar ve Interface(Arayüzler)

Soyut sınıflar, kendisinden türetilecek olan sınıflara arayüz sağlar. Türeteceğiniz yeni sınıfları bir kalıba(arayüz) zorlar ve kalıtımla kod tekrarını azaltır. Soyut sınıfllar, tek başlarına bir anlam ifade etmezler. Bu yüzden soyut sınıflardan nesne üretilemez.

abstract  anahtar kelimesini metot veya sınıfların başlarına yazarak tanımlayabilirsiniz. Eğer bir absract metot tanımladıysanız kesinlikle o metotun sınıfını da abstract olarak tanımlamalısınız. Aksi takdirde hata verecektir.

Soyut metotlara  kendi sınıfı içinde gövde yazılamaz ve türetildiği sınıfta bu metotlar ezilmek(override) zorundadır yani yeniden tanımlanmalıdır.


Interface (Arayüzler)
Arayüzler soyut sınıflar ile hemen hemen aynıdır. Alt sınıflara bir standart belirlersiniz ve alt sınıflarda bu standarta uymadığınız zaman hata verir. Soyut sınıf iki temel farkı vardır

Arayüzlerde sadece gövdesiz metot tanımlaması yapabilirsiniz.
Soyut sınıflarda sadece bir kez miras(extends) alarak uygulayabilirken, arayüzlerde istediğiniz kadar uygulayabilirsiniz(implements).
interface anahtar kelimesi ile tanımlanır  ve implements anahtar kelimesi ile sınıflara uygulanır.