Kural olarak, yazılım sistemleri gerçek uygulamalarda kullanılıncaya kadar iyi çalışmaz ve defalarca başarısız olur.
- David Parnas
Kural olarak, yazılım sistemleri gerçek uygulamalarda kullanılıncaya kadar iyi çalışmaz ve defalarca başarısız olur.
- David Parnas
Abstract sınıflar ortak özellikleri olan nesneleri modellemek için kullanılmaktadır.
Farklı sınıflarda kullanmanız gereken fonksiyonlar vardır ancak o sınıf içerisinde ki bir fonksiyon iki sınıf içinde farklılık içerdiğinden abstract class kullanmadığınız zaman farklı iki sınıf açmanız gerekiyor.
Kolay anlaşılabilen telefon örneğinden yola çıkarsak android ve apple işletim sistemleri birbirinden farklı mağaza içeriyor.
Ancak genel olarak bakacak olursak not defteri veya sms gönderme gibi özellikler ise geneli kapsıyor ancak mağazaları farklı olduğundan ortak sınıf bir sorun teşkil edebilir.
Yukardaki görselde görüneceği üzeri tek bir sınıfta ortak yapıları public olarak oluşturduk ancak store imzasız bir method olarak oluşturduk.
Özelliklerine bakacak olursak oluşturulan abstract class içerisine bir abstract method içermelidir.
Extends ettiğiniz class, abstract bir method içeriyorsa o class içerisinde abstract method tanımlanmalıdır.
Örneğin Iphone veya Huawei class içerisine store methodunu oluşturulmuş olmasa o class uyarı vericektir, extends ettiğiniz sınıfta bir soyut method var ancak bu methodu nesne olarak tanımlamadınız.
Yani bu şekilde genel sınıfta (phone sınıfı) bu methodun kullanılması gerektiğini belirtiyoruz ancak farklı içerikler olduğundan extends ederek sınıflar içerisinde farklı sonuçlar içeren bir method olarak kullanıyoruz.
Abstract bir class istenilen herhangi bir sınıfa bir limit olmadan extends edilebilir.
Abstract class içerisinde static fonksiyonlar oluşturulabilir.
Constructors (yapıcı metodlar) ve destructors (yıkıcı metodlar) bulundurabilirler.
0 Yorum
Yorum Bulunmuyor...