İçeriğe geç
Başlangıç · Sonraki hedefe 100 XP
Son hareketler
Henüz bir öğrenme hareketi yok. İlk derse başlayın.

Programlama Temelleri

C++ kalıtım: Alt tür sözleşmesini koruma

Kalıtım, bir türün başka bir türün sözleşmesini karşılaması gerektiğinde anlamlıdır. Yalnızca birkaç satır tekrarını azaltmak için kullanılması gereksiz bağımlılık oluşturabilir.

Bu derste neler var?

SİBERSALDİRİ.COM · KONU ODAKLI DERS

Bu derste kazanacaklarınız

  • Temel sözleşme ile Alt tür arasındaki ilişkiyi açıklamak.
  • “Kalıtım neden her kod tekrarının çözümü değildir?” sorusuna gerekçeli yanıt vermek.
  • Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.

Çalışma mantığı ve güven sınırı

Türetilmiş nesne temel arayüzün beklentilerini bozmamalıdır. Polimorfik temel sınıf üzerinden silme gerekiyorsa sanal yıkıcı gerekir. Kaynak sahipliği ve kopyalama davranışını ayrıca düşünün. İlişki kullanma ilişkisi ise bileşim daha açık olabilir; sınıf adlarının benzemesi tek başına alt tür ilişkisi kurmaz.

C++ kalıtım: Alt tür sözleşmesini koruma akışı: Temel sözleşme → Alt tür → Yerine kullanılabilirlik
Temel sözleşme → Alt tür → Yerine kullanılabilirlik. Şema ilişkiyi gösterir; bütün uygulamanın yerine geçmez.

Açıklamalı örnek

Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.

struct Sensor {
 virtual ~Sensor() = default;
 virtual int read() const = 0;
};
struct FixedSensor : Sensor {
 int read() const override { return 21; }
};

Beklenen sonuç ve yorumu

FixedSensor temel Sensor arayüzündeki read sözleşmesini karşılar.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
Gerçek alt türKalıtım uygun olabilirTemel sözleşme korunur
Sadece yardımcı kullanımBileşim düşünAlt tür gerekmeyebilir
Temelden silmeSanal yıkıcıDoğru yıkım zinciri gerekir

Uygulama görevi

İkinci bir sensör türü ekleyip aynı tüketici fonksiyonuna geçirin.

  1. İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
  2. Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
  3. Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.

Sık yapılan hata ve düzeltme yönü

Polimorfik nesneyi temel sınıf üzerinden silerken yıkıcı sözleşmesini gözden kaçırmayın.

Kendinizi sınayın

Kalıtım neden her kod tekrarının çözümü değildir?

Açıklamalı yanıt: Tekrar azaltma ile alt tür davranış sözleşmesi farklı ihtiyaçlardır; yanlış ilişki değişikliği zorlaştırır.

İlgili derslerle ilerleyin

Teknik başvuru

Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.

Bir adım daha ilerlediniz.

Dersi bitirdiyseniz tamamlandı olarak işaretleyin. İlerlemeniz bu cihazda saklanır.

Akademi menüsü

Akademide ara

En az 2 karakter yazın.