Java ile Nesne Yönelimli Programlama | Soyutlama (Abstraction)

Yazan : Furkan BAYSAN

Soyutlama (Abstraction) Nedir?

Soyutlama (Abstraction), kullanıcıdan implementasyon detaylarının gizlenip, sadece fonksiyonelliğin sağlandığı süreçtir. Başka bir deyişle, kullanıcı nesnenin nasıl yaptığını değil, ne yaptığını bilir.

Abstraction is a process of hiding the implementation details from the user. Only the functionality will be provided to the user.

Soyutlama (Abstraction) Nasıl Sağlanır? 

Soyutlama (Abstraction), abstract class ve interface konseptleriyle sağlanır.

→ Abstraction is obtained by abstract classes and interfaces.

Soyutlama (Abstraction) Ne Zaman Kullanılır?

Birbirinin alternatifi olan, birden fazla ve farklı alt sınıf nesnesinin ortak olarak barındırdığı eylemler varsa ve üst sınıf (baseclass) nesnesinin davranışlarının gizlenip, esas implementasyonun (actual implementation) alt sınıf (subclass) nesneleri tarafından yapılmasını istiyorsak soyutlama (abstraction) kullanmalıyız.

Soyut Sınıf ve Metotlarla İlgili Kurallar (Rules for Abstract Classes and Methods)

  • Soyut sınıflar, soyut veya soyut olmayan metotlar içerebilir. (Abstract classes may or may not contain abstract methods)
  • Soyut metotlar, üst sınıf (baseclass) içerisinde prototip olarak tanımlanır. (Abstract methods are defined as prototypes in baseclass)
  • Prototip metot, imzası olan ancak gövdesi olmayan metotdur. (Abstract method contains method signature but no method body)
  • Bir sınıf, bir veya daha fazla soyut metot içeriyorsa, soyut olarak tanımlanmalıdır. (If a class has at least one abstract method, then the class must be declared abstract)
  • Bir sınıf soyut olarak tanımlanırsa, nesnesi oluşturulamaz. ( If a class is declared abstract, it can not be instantiated)
  • Soyut bir sınıfı inherit eden alt sınıf (subclasses) nesneleri, soyut sınıfta prototip olarak tanımlanmış soyut metotları override etmek zorundadır.
  • Soyut sınıflar, final metotlar içerebilir.

 

 

 

 

 

 

 

 

 

Bahcesehir University Computer Engineering Full Time Extrovert and Developer
Yazı oluşturuldu 9

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer yazılar

Aramak istediğinizi üstte yazmaya başlayın ve aramak için enter tuşuna basın. İptal için ESC tuşuna basın.