CodeBlanks Logo Icon CodeBlanks

abstract sınıf

abstract sınıf tanımlamayı öğrenirsin.

abstract sınıf nedir?

Bir abstract sınıf, doğrudan örneklenemeyen bir temel sınıftır. abstract anahtar kelimesiyle tanımlanır. Alt sınıflar için bir şablon görevi görür; ortak alan ve metotları toparlar.

Örnek: abstract class Shape { }. Burada Shape abstract'tır; new Shape() yazarsan derleme hatası alırsın. Ama class Circle extends Shape { } yazabilirsin. Abstract sınıf, somut sınıfların taşıyamayacağı ortak davranışı tanımlar. Alt sınıf, abstract sınıfın gövdesini extends ile miras alır. Bu mekanizma kod tekrarını azaltır ve hiyerarşiyi düzenli tutar. Temel sınıf yalnızca şablon sağlar.

Abstract sınıf örnekleme

Bir abstract sınıftan new ile örnek oluşturamazsın. Java, soyut bir türü somutlaştırmayı engeller. Önce bir alt sınıf yazıp onu örneklemen gerekir.

Örnek: abstract class Animal { } tanımladıysan, new Animal() derleme hatası verir. Ama class Dog extends Animal { } yazıp new Dog() yapabilirsin. Bu kısıtlama, abstract sınıfın yalnızca temel olmasını sağlar; tek başına kullanılmasını engeller. Alt sınıf, abstract sınıfın sunduğu şablonu doldurur. Bu, hiyerarşinin anlamlı kalmasına yardımcı olur. Eğer doğrudan örneklemek istiyorsan sınıfı abstract yapmamalısın.

Uygulama Shape abstract sınıfını tanımla

Shape adında bir abstract sınıf tanımla. İçine String name alanını ekle ve yapıcı Shape(String name) yaz; alanı ata. class Circle extends Shape yaz; yapıcı Circle(String name) ile üst yapıcıyı super(name) ile çağır. main içinde Circle c = new Circle("Daire"); ile System.out.println(c.name); yazdır.

Başlangıç kodu

Main.java
// Soyut geometri sınıfını tanımla
// Bir alt sınıf ekle
// main'de alt sınıfı örnekle ve yazdır

Örnek çözüm

Main.java
abstract class Shape {
    String name;
    Shape(String name) {
        this.name = name;
    }
}
class Circle extends Shape {
    Circle(String name) {
        super(name);
    }
}
class Main {
    public static void main(String[] args) {
        Circle c = new Circle("Daire");
        System.out.println(c.name);
    }
}

Beklenen çıktı

Daire

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir abstract sınıf nasıl tanımlanır?

  • interface class
  • final class
  • abstract class Doğru cevap
  • static class

Açıklama: abstract class kelime öbeği soyut sınıf bildirir.

2 abstract sınıf tanımını tamamla

Soru
abstract ____ Shape {
    String name;
}
Cevap
abstract class Shape {
    String name;
}

Açıklama: abstract class ile soyut sınıf tanımlanır.

3 Abstract sınıf kavramlarını eşle

Kavram Anlamı
abstract Soyutluk kelimesi
class Sınıf kelimesi
extends Miras kelimesi
new Örnekleme kelimesi

Orta seviye bölümündeki tüm dersler