İç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++ sınıfları: Davranışı veriyle birleştirme

Sınıf ilişkili durum ve davranışı bir arada tutar. Amaç yalnızca değişkenleri bir kutuya koymak değil, geçerli nesne durumunu bütün işlemler boyunca korumaktır.

Bu derste neler var?

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

Bu derste kazanacaklarınız

  • Kurulum ile Kontrollü davranış arasındaki ilişkiyi açıklamak.
  • “Sınıfın temel sözleşmesi nedir?” 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ı

Bir sayaç örneğinde alanı private tutup artışı metot üzerinden sunun. Böylece sınır doğrulaması tek yerde uygulanır. Dışarıya değiştirilebilir alan referansı vermek aynı korumayı dolaylı olarak kaldırabilir. Nesnenin kurulum, kullanım ve yıkım evrelerini ayrı düşünün; geçersiz ara durumları mümkün olduğunca azaltın.

C++ sınıfları: Davranışı veriyle birleştirme akışı: Kurulum → Kontrollü davranış → Geçerli durum
Kurulum → Kontrollü davranış → Geçerli durum. Ş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.

#include <iostream>
class Counter {
 int value_{0};
public:
 void increment(){ ++value_; }
 int value() const { return value_; }
};
int main(){ Counter c; c.increment(); std::cout << c.value(); }

Beklenen sonuç ve yorumu

1 yazılır; çağıran value_ alanına doğrudan erişemez.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
Metot kuralı koruyorGeçerli nesneKontrol tek yerdedir
Public alanla doğrudan değişimKural bozulabilirDış kod kontrolü atlar
Hata dönüşüDurum geçerliliğini koruBaşarısızlık da sözleşmedir

Uygulama görevi

Üst sınır ekleyin ve sınır aşımında metodun davranışını tanımlayın.

  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ü

Her alan için kontrolsüz setter üretmek kapsüllemeyi zayıflatır.

Kendinizi sınayın

Sınıfın temel sözleşmesi nedir?

Açıklamalı yanıt: Dış işlemler tamamlandığında nesnenin geçerli durum koşullarını koruması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.

Bu bölümdeki dersler

Programlama Temelleri

C++ OOP: Sorumluluk ve işbirliği

Nesne yönelimli tasarım, bütün işlemlerin sınıfa taşınması demek değildir. Değişme nedenleri farklı sorumlulukları ayırmak, bir bi

2 dk okuma
↗
Programlama Temelleri

C++ sınıf ve nesne: Tür ile örneği ayırma

Sınıf bir türün tanımını, nesne ise o türün belirli yaşam süresine sahip örneğini temsil eder. Aynı sınıftan iki nesne varsayılan

2 dk okuma
↗
Programlama Temelleri

C++ metotları: Yan etki ve const sözleşmesi

Metot nesnenin durumu üzerinde çalışan işlevdir. Okuma ile değiştirme davranışını arayüzde ayırmak, çağıranın hangi yan etkiyi bek

2 dk okuma
↗
Programlama Temelleri

C++ kurucuları: Geçerli nesneyle başlama

Kurucu nesnenin ilk geçerli durumunu oluşturur. Alanların sonradan ayrı ayrı doldurulmasına güvenmek, kullanım öncesi eksik yapıla

2 dk okuma
↗
Programlama Temelleri

C++ erişim belirleyicileri: Arayüz ve iç ayrıntı

public üyeler kullanım sözleşmesini, private üyeler iç uygulamayı ifade eder. Bu ayrım nesneye yanlış durum atanmasını azaltır; ku

2 dk okuma
↗
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.

2 dk okuma
↗
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

2 dk okuma
↗
Programlama Temelleri

C++ polimorfizm: Arayüz üzerinden davranış

Polimorfizm aynı arayüz çağrısının nesnenin gerçek türüne uygun davranışa yönlenmesini sağlar. Tüketiciyi somut uygulamadan ayırma

2 dk okuma
↗
Programlama Temelleri

C++ dosyaları: Açma sonucunu ve ömrü yönetme

Dosya işlemi, dosyanın bulunamaması veya izin hatasıyla başarısız olabilir. Başarılı açılmayı varsaymak yerine akış durumunu kontr

2 dk okuma
↗
Programlama Temelleri

C++ istisnaları: Hata yolu ve kaynak güvenliği

İstisna normal dönüş yoluyla karşılanamayan bir başarısızlığı üst katmana taşıyabilir. Amaç her hatayı yakalayıp sessizce devam et

2 dk okuma
↗
Programlama Temelleri

C++ zaman: Duvar saati ve süre ölçümü

Bir olayın takvim zamanını kaydetmek ile geçen süreyi ölçmek farklı işlerdir. Sistem saati düzeltilebilir; bu nedenle süre ölçümün

2 dk okuma
↗

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.