0Pricing
Python Academy · Ders

Tekli Kalıtım

Bir üst sınıftan öznitelikleri ve yöntemleri devralan alt sınıflar oluşturun.

Tekli Kalıtım, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Giriş

Kalıtım, bir alt sınıfın kodu yinelemeden üst sınıfın davranışını yeniden kullanmasını ve genişletmesini sağlar.

Alt Sınıf Tanımlama

class Dog(Animal): Animal sınıfındaki her şeyi devralır. Alt sınıf yeni yöntemler ekleyebilir veya mevcut yöntemleri geçersiz kılabilir.
class Animal:
    def __init__(self, name): self.name = name
    def speak(self): return '...'
class Dog(Animal):
    def speak(self): return 'Woof'
d = Dog('Rex')
print(d.name, d.speak())

super().__init__ Çağrısı

super().__init__(args), üst sınıfın __init__ yöntemini çağırır. Üst sınıfta başlatma mantığı varsa alt sınıfta bunu her zaman çağırın.
class Animal:
    def __init__(self, name): self.name = name
class Dog(Animal):
    def __init__(self, name, breed):
        super().__init__(name)
        self.breed = breed
d = Dog('Rex', 'Labrador')
print(d.name, d.breed)

Yöntemleri Devralma

Alt sınıf, üst sınıfın tüm yöntemlerini devralır. Bunları geçersiz kılmazsanız değişmeden çalışırlar.
class Vehicle:
    def start(self): return 'starting'
class Car(Vehicle):
    pass
print(Car().start())

Yöntemleri Geçersiz Kılma

Üst sınıfın sürümünü değiştirmek için alt sınıfta aynı yöntem adını tanımlayın. Alt sınıfın sürümü çağrılır.
class Shape:
    def area(self): return 0
class Square(Shape):
    def __init__(self, s): self.s = s
    def area(self): return self.s**2
print(Square(4).area())

Üst Sınıf Davranışını Genişletme

Üst sınıfın sürümünü önce çalıştırmak, ardından daha fazlasını eklemek için geçersiz kılınan yöntemin içinde super().method() çağrısını yapın.
class Animal:
    def describe(self): return 'I am an animal'
class Dog(Animal):
    def describe(self): return super().describe() + ' and a dog'
print(Dog().describe())

isinstance() ve issubclass()

isinstance(obj, Parent), alt sınıf örnekleri için de True döndürür. issubclass(Child, Parent), sınıf hiyerarşisini denetler.
class Animal: pass
class Dog(Animal): pass
d = Dog()
print(isinstance(d, Animal))
print(issubclass(Dog, Animal))

Alt Sınıfa Yeni Yöntemler Ekleme

Alt sınıf, üst sınıfta bulunmayan tamamen yeni yöntemler tanımlayabilir.
class Animal:
    def __init__(self, name): self.name = name
class Dog(Animal):
    def fetch(self): return f'{self.name} fetches!'
print(Dog('Rex').fetch())

Korunan Öznitelikler

_name geleneği, sınıfın dışından erişilmemesi gerektiğini belirtir. Alt sınıflar bunları CAN kullanabilir.
class Animal:
    def __init__(self, name): self._name = name
    def name(self): return self._name
class Dog(Animal):
    def bark(self): return f'{self._name} barks'
print(Dog('Rex').bark())

Soyut Temel Sınıflar

from abc import ABC, abstractmethod, alt sınıfları yöntemleri uygulamaya zorlar.
from abc import ABC, abstractmethod
class Shape(ABC):
    @abstractmethod
    def area(self): pass
class Circle(Shape):
    def __init__(self, r): self.r = r
    def area(self):
        import math
        return math.pi * self.r**2
print(Circle(3).area())

__bases__ ve __mro__

Dog.__bases__, doğrudan üst sınıfları gösterir. Dog.__mro__, tam yöntem çözümleme sırasını gösterir.
class A: pass
class B(A): pass
class C(B): pass
print(C.__mro__)

Hızlı Denetim

Alt sınıfta super().__init__() ne yapar?

Özet

Kalıtım: class Child(Parent). super(), üst sınıfa erişir. Davranışı değiştirmek için yöntemleri geçersiz kılın. isinstance(), hiyerarşiyi denetler. ABC, soyut sözleşmeleri zorunlu kılar.

Devam Edin

Harika ilerliyorsunuz! Sonraki kavramda ustalaşmak için devam edin.

Sıkça Sorulan Sorular

“Tekli Kalıtım” dersi ücretsiz mi?

Evet — “Tekli Kalıtım” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“Tekli Kalıtım” dersinde ne öğreneceğim?

Bir üst sınıftan öznitelikleri ve yöntemleri devralan alt sınıflar oluşturun. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Tekli Kalıtım” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Tekli Kalıtım
  2. Yöntem Geçersiz Kılma ve super()
  3. Çoklu Kalıtım ve MRO
  4. Çok Biçimlilik ve Ördek Tiplemesi
← Python Academy Sayfasına Dön