1. Anasayfa
  2. Java

Java Serisi #7 Abstract Class

Java Serisi #7 Abstract Class
0

Abstract (Soyut) Class

Daha önce interface kavramını incelemiştik ve bir interface içerisinde sadece gövdesiz metotlar tanımlayabilmiştik. Yani bir metodun gerçekleştirebileceği işlemleri yazamamıştık. Abstract sınıflarda ise hem gövdesiz metotlarımızı hem de gövdeli metotlarımızı yazabiliyoruz. Eğer metodun kullanımı her sınıf içerisinde aynı sonucu verecekse gövdeli metot ile tanımlıyoruz. Eğer her sınıf için farklı bir sonuç verecekse abstract bir gövdesiz metot tanımlıyoruz.

  • abstract anahtar kelimesi ile tanımlanırlar.
  • Abstract bir sınıfdan nesne oluşturulamaz.
  • Abstract bir sınıfı kullanmak için inherit (miras) etmeniz gerekmektedir.
  • Abstract method içeren bir sınıf abstract olarak tanımlanmalıdır.

Örneğin ;

 

AbstractClass adında bir abstract sınıf oluşturduk. KullanıcıOluştur ve KullanıcıSil adındaki metotar her kullanımda aynı sonucu vereceği için metottlarımızı direkt olarak yazdık. Fakat guncelle metodunun kullanımı farklı sonuçlar vermesini istediğimizden gövdesiz olarak tanımladık. Bu sınıfı extend ettiğimiz sınıf içerisinde tekrar tanımlayacağız.

Kullanıcı1 sınıfına AbstractClass sınıfını extend ettiğimiz zaman netbeans guncelle metodu override edilmediği için uyardı. Diğer 2 metodu override etmiyoruz.

 

 

Daha sonra Kullanıcı1 sınıfı için guncelle metodunu override ettik. Kullanıcı2 sınıfını oluşturduk ve aynı işlemi onun için de gerçekleştirdik.

Sonuç olarak elimizde her sınıf için ortak KullanıcıOluştur ve KullanıcıSil metodu ve sınıfların kendine özel sonuç veren guncelle metodlarımız oldu.

 

 

MainClass içerisinde 2 adet nesne oluşturduk ve metotlarımızı kullandık. Çıktıda da görüldüğü gibi hangi nesne ile kullanırsak kullanalım KullanıcıOluştur ve KullanıcıSil metotları aynı sonucu verdi. Guncelle metodu ise her nesne için ayrı çıktı verdi.

 



Gördüğünüz hatalar, önerileriniz ve sorularınız için telegram gruplarımızdan bizimle iletişime geçebilirsiniz.

Devamı için takipte kalınız.

Ne Düşünüyorsun?
  • 0
    harika_
    Harika!
  • 0
    g_zel_
    Güzel!
  • 0
    haval_
    Havalı!
  • 0
    e_lenceli_
    Eğlenceli!
  • 0
    _zg_n_m_
    Üzgünüm!
  • 0
    sevmedim_
    Sevmedim!

Sakarya Üniversitesi - Bilgisayar Mühendisliği

Yazarın Profili

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir