SİBERSALDİRİ.COM · KONU ODAKLI DERS
Bu derste kazanacaklarınız
- Nesne ile Metot sözleşmesi arasındaki ilişkiyi açıklamak.
- “const metot her türlü dış etkiyi engeller mi?” 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ı
Durumu değiştirmeyen uygun metotları const tanımlayın. Bir sorgulama metodunun gizlice dosya yazması veya ağ çağrısı yapması bakım ve test maliyetini artırır. Dönüş türüyle sahiplik kararını açık tutun; kısa ömürlü iç nesneye referans vermek çağıranda geçersiz erişime dönüşebilir.
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 Meter {
int count_{0};
public:
void tick(){ ++count_; }
int count() const { return count_; }
};Beklenen sonuç ve yorumu
tick durumu değiştirir; count gözlem için kullanılabilir.
Karşılaştırmalı durumlar
| Durum | Beklenen yaklaşım | Neden? |
|---|---|---|
| Salt sorgu metodu | const uygun olabilir | Değiştirme niyeti yoktur |
| Durum güncelleme | Açık yan etki | Çağıran bunu bilmelidir |
| Const metotta ağ çağrısı | Yine dış etki olabilir | const bütün sistemi saf yapmaz |
Uygulama görevi
const Meter üzerinde count çağrısı ile tick çağrısının derlenme farkını inceleyin.
- İş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ü
Bir sorgu metodunda beklenmeyen yan etki saklamayın.
Kendinizi sınayın
const metot her türlü dış etkiyi engeller mi?
Açıklamalı yanıt: Hayır. Dilin nesne üzerinden değişiklik sınırını belirtir; ağ veya global durum etkisini otomatik yasaklamaz.
İlgili derslerle ilerleyin
- C++ sınıf ve nesne: Tür ile örneği ayırma
- C++ kurucuları: Geçerli nesneyle başlama
- C++ OOP: Sorumluluk ve işbirliği
- C++ erişim belirleyicileri: Arayüz ve iç ayrıntı
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.
