CodeBlanks Logo Icon CodeBlanks

ABC

abc.ABC ile soyut sınıf tanımlamayı öğrenirsin.

Soyut sınıf (ABC)

Bir soyut sınıf (abstract class), doğrudan örneklemeyen ve alt sınıflar için bir şablon görevi gören sınıftır. Python'da abc modülünden ABC sınıfını miras alarak tanımlarsın.

Örnek: from abc import ABC\nclass Animal(ABC):\n pass. Burada Animal artık soyut bir sınıftır. Animal() yazıp örnek oluşturmaya çalışırsan TypeError alırsın; ama bir alt sınıf oluşturup onu örnekleyebilirsin. Soyut sınıflar, ortak arayüzü zorunlu kılmak için kullanılır.

ABC miras almak

Soyut sınıf tanımlamanın en kısa yolu ABC'yi miras almaktır. Sınıf gövdesine hiçbir soyut metot koymasan bile ABC mirası, örnekleme girişimini engeller. Bu, “bu sınıf tek başına kullanılmamalı” mesajını verir.

Soyut sınıf, alt sınıflara ortak bir davranış çerçevesi sunar. Alt sınıf, soyut sınıfı miras alır ve eksik metotları doldurur. Böylece farklı alt sınıflar aynı arayüze uyar; çağıran taraf hangi alt sınıf olduğunu bilmek zorunda kalmaz.

Uygulama Soyut sınıfı tanımla

from abc import ABC ile başla. Animal(ABC) adında soyut bir sınıf tanımla; gövdesine pass yaz. Sonra print(issubclass(Animal, ABC)) ile soyut taban sınıf ilişkisini yazdır.

Başlangıç kodu

main.py
# abc modülünden ABC al ve Animal soyut sınıfını tanımla

Örnek çözüm

main.py
# abc modülünden ABC al ve Animal soyut sınıfını tanımla
from abc import ABC

class Animal(ABC):
    pass

print(issubclass(Animal, ABC))

Beklenen çıktı

True

Soru ve cevaplar

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

1 Animal(ABC) tanımından sonra ne olur?

  • Animal() yeni bir örnek döndürür
  • Animal() çağrısı TypeError fırlatır Doğru cevap
  • Animal otomatik olarak alt sınıf olur
  • Animal yok sayılır

Açıklama: Soyut sınıf doğrudan örneklenemez; TypeError fırlar.

2 import satırını tamamla

Soru
from ____ import ABC

class Animal(ABC):
    pass
Cevap
from abc import ABC

class Animal(ABC):
    pass

Açıklama: abc modülü ABC sınıfını içerir.

3 ABC parçalarını eşleştir

Kavram Anlamı
abc Modül
ABC Taban sınıf
class Animal(ABC) Soyut tanım
TypeError Örnekleme hatası

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