Java'da Soyut Sınıf ve Soyut Yöntem nedir? Ne zaman kullanmalıyım? Eğitici Ekli

Yayınlanan: 2019-09-12
java-soyut-sınıf-öğretici-by-crunchify

Birkaç gün önce Java'da Arayüz Nedir ve Nasıl Kullanıldığına dair temel Java Temelleri üzerine bir makale yazdım. Bu eğitim aynı zamanda temel Java temelli " Abstract Class and Abstract Method " ile de ilgilidir.

Soyut Sınıf nedir?

Önce Soyut sınıfını anlamaya başlayalım, sonra Örnek üzerinden geçeceğiz.

  • Soyut bir sınıf, abstract olarak bildirilen bir sınıftır.
  • Soyut sınıflar başlatılamaz
  • Soyut sınıflar alt sınıflara ayrılabilir
  • Soyut yöntemler içerebilir veya içermeyebilir
  • Soyut bir sınıf subclassed , alt sınıf genellikle üst sınıfındaki tüm soyut yöntemler için uygulamalar sağlar.
  • Alt sınıf uygulamalar sağlamıyorsa, alt sınıf da abstract olarak bildirilmelidir.

Bu çok basic Java Interview Question . Muhtemelen mülakat sırasında aldığınız 1 st Java Interview Question .

Soyut bir yöntem eklemeden soyut bir sınıf tanımlayabilir miyim?

Tabii ki evet. Bir sınıf özeti bildirmek, yalnızca onun kendi başına somutlaştırılmasına izin vermediğiniz anlamına gelir. Soyut olmayan bir sınıfta soyut bir yönteminiz olamaz.

Soyut Yöntem Nedir?

  • abstract method , bir uygulama olmadan bildirilen bir yöntemdir.
  • Sadece bir yöntem imzası var.

Bir Örnekle başlayalım. Sorun Açıklaması:

  1. checkResult() adlı bir soyut yöntemi olan CrunchifyExam.java sınıfını oluşturun
  2. Soyut sınıf Crunchify1stSchoolExamResult.java genişleten Crunchify1stSchoolExamResult.java sınıfını CrunchifyExam.java
  3. Soyut sınıf Crunchify2ndSchoolExamResult.java genişleten Crunchify2ndSchoolExamResult.java sınıfını CrunchifyExam.java
  4. Şimdi yukarıdaki her iki sınıf da checkResult() yöntemi için uygulama sağlamalıdır.
  5. Her iki Okulun da kullanıcının PASSED PASSED or FAILED olup olmadığını öğrenmek için kendi farklı procedure veya number of checks olabilir, kendi checkResult() uygulamalarını kullanmakta özgürdürler.

CrunchifyExam sınıfını genişlettiğinizde – Eclipse, Crunchify1stSchoolExamResult.java belirtilen Soyut yöntemleri uygulamanızı CrunchifyExam.java .

Soyut Yöntemi Uygula - Crunchify Eğitimi

Crunchify1 . SchoolExamResult.java

Crunchify2 ve SchoolExamResult.java

Eclipse Konsolu Sonucu:

Aşağıdaki sonucu görmek için Crunchify2ndSchoolExamResult.java sağ tıklayın ve Java Application olarak çalıştırın.

Şimdi bir sorunuz olabilir

Neden Abstract Method ve Class yerine Arayüz kullanamıyorum ve Arayüz olarak CrunchifyExam'e sahip olamıyorum?

Pekala – Sure you could – ancak getExamTime (), setExamTime (), getExamTime (), setExamTime () yöntemlerini de uygulamanız gerekir.

Soyut sınıfları kullanarak, diğer (soyut olmayan) yöntemlerin uygulamasını devralabilirsiniz. Bunu arayüzlerle yapamazsınız – bir arayüz herhangi bir yöntem uygulaması cannot provide .

Java'da soyut ve son sınıf oluşturmak mümkün müdür?

  • Soyut ve nihai, birbirini dışlayan kavramlardır.
  • Yani cevap HAYIR, Java'da soyut bir sınıf veya yöntem finali yapamayız.
  • Son sınıf tam sınıftır ve daha fazla uzatılamaz.
  • Soyut sınıfa eksik sınıf denir ve yalnızca diğer somut sınıflar tarafından genişletilebilir ve tüm soyut yöntemleri uygulamanız gerekir.
  • Ayrıca, bir final sınıfında soyut bir yönteme sahip olmanın yolu yoktur ve mümkün değildir.

Java'da birden çok soyut sınıftan miras almak mümkün müdür?

  • Java, çoklu kalıtımı desteklemez.
  • Java'da yalnızca tek bir sınıfı genişletebiliriz.
  • Java'da birçok kaynaktan Arayüzler uygulayabiliriz.