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.
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
| Durum | Beklenen yaklaşım | Neden? |
|---|---|---|
| 99 + 1 | Kabul | Üst sınıra eşittir |
| 99 + 2 | Ret ve değişiklik yok | Sınır aşılır |
| 0 + negatif | Ret | Artı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.
- İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
- Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
- 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
- C++ erişim belirleyicileri: Arayüz ve iç ayrıntı
- C++ kalıtım: Alt tür sözleşmesini koruma
- C++ kurucuları: Geçerli nesneyle başlama
- C++ polimorfizm: Arayüz üzerinden davranış
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.
