crazy_coder
Moderatör
- Katılım
- 20 Şub 2026
- Mesajlar
- 204
- Tepkime puanı
- 0
- Puanları
- 16
Sınıf ve Nesne: Kodun Mimari Tasarımı
Şimdiye kadar fonksiyonlar ve değişkenlerle işlem yaptık. OOP ile bu ikisini tek bir yapı (Sınıf) altında birleştiriyoruz. Böylece kodumuz daha düzenli, tekrar kullanılabilir ve yönetilebilir hale geliyor.
1. Sınıf Nedir? (The Blueprint)
Bir araba fabrikasını hayal edin. Arabanın rengi, modeli ve motor gücü gibi özellikleri belirten teknik çizim bir Sınıf'tır. Sınıf, içinde veri (Değişkenler) ve yetenekler (Fonksiyonlar) barındıran bir şablondur.
C++:
class Araba {
public: // Her yerden erişilebilir
string marka;
int modelYili;
void calistir() {
cout << marka << " calisiyor..." << endl;
}
};
2. Nesne Nedir? (The Instance)
Teknik çizime (Sınıf) bakarak üretilen o gerçek, dokunabildiğimiz araba ise bir Nesne'dir. Aynı sınıftan binlerce farklı nesne üretebiliriz; her birinin markası veya rengi farklı olabilir.
C++:
int main() {
// Nesne oluşturma (Instantiation)
Araba benimArabam;
benimArabam.marka = "Tesla";
benimArabam.modelYili = 2024;
Araba seninAraban;
seninAraban.marka = "BMW";
benimArabam.calistir(); // Tesla calisiyor...
seninAraban.calistir(); // BMW calisiyor...
}
3. Temel Kavramlar
[]Üye Değişkenler (Attributes): Nesnenin özelliklerini saklar (Renk, Hız, İsim).
[]Üye Fonksiyonlar (Methods): Nesnenin yapabildiği eylemlerdir (Hızlan, Dur, Bilgi Yazdır).
[]Erişim Belirleyiciler (Access Specifiers):
[]public: Dışarıdan herkes bu verilere ulaşabilir.- private: Sadece sınıfın içindeki fonksiyonlar ulaşabilir (Veri güvenliği).
4. Sınıf vs Nesne Karşılaştırması
| Özellik | Sınıf (Class) | Nesne (Object) | |||
|---|---|---|---|---|---|
| Tanım | Mantıksal bir taslaktır. | Fiziksel bir varlıktır. | Bellek | Tanımlandığında yer kaplamaz. | Bellekte (RAM) yer kaplar. |
| Sayı | Bir kez tanımlanır. | İstendiği kadar üretilebilir. |
[TR]
Sonuç
Sınıf ve nesne yapısı, karmaşık projeleri parçalara bölmemizi sağlar. Bir oyun yazdığınızı düşünün; "Düşman" adında bir sınıf oluşturup, bu sınıftan yüzlerce farklı can, güç ve pozisyona sahip "Düşman nesnesi" üretebilirsiniz. Bu, kodun hem okunabilirliğini hem de bakımını devasa oranda kolaylaştırır.