İç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++ kapsülleme: Geçersiz durumları önleme

Kapsülleme yalnızca alanları private yapmak değildir. Her işlemin nesnenin geçerli durumunu koruduğu bir arayüz tasarlamaktır.

Bu derste neler var?

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

Bu derste kazanacaklarınız

  • Ön koşul ile Kontrollü değişim arasındaki ilişkiyi açıklamak.
  • “Başarısız işlem hangi durumu bırakmalıdır?” 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ı

Örneğin sınırlı bir sayaç, değerin üst sınırı geçmesine izin vermemelidir. Kontrolü yalnızca arayüzde bırakmak yeterli olmaz; alanı değiştiren asıl metot kuralı korumalıdır. Değiştirilebilir iç referans veya kontrolsüz setter vermek aynı kuralı dolaşmanın yolunu açar. Hata sonucunun çağırana nasıl bildirileceğini de tasarlayın.

C++ kapsülleme: Geçersiz durumları önleme akışı: Ön koşul → Kontrollü değişim → Değişmez koşul
Ön koşul → Kontrollü değişim → Değişmez koşul. Ş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.

class Bounded {
 int value_{0};
public:
 bool add(int delta){
  if(delta < 0 || delta > 100-value_) return false;
  value_ += delta; return true;
 }
};

Beklenen sonuç ve yorumu

Toplam 0-100 aralığında kalır; reddedilen işlem durumu değiştirmez.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
99 + 1KabulÜst sınıra eşittir
99 + 2Ret ve değişiklik yokSınır aşılır
0 + negatifRetArtırma sözleşmesine aykırıdır

Uygulama görevi

99'dan 2 artırma ve 0'dan -1 artırma durumlarını test edin.

  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ü

Başarısız işlemden önce alanı değiştirip sonra hata dönmeyin.

Kendinizi sınayın

Başarısız işlem hangi durumu bırakmalıdır?

Açıklamalı yanıt: Tanımlanan hata sözleşmesine göre nesne geçerli ve anlaşılır durumda kalmalıdı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.