C/C++ Class nedir?

Class'lar nesne tabanlı programlamanın (OOP) en temelidir. Normal programlama mantığına göre farklı bir çalışma prensibi vardır.
 
O erişim şekli. Bir Class'ı public yaparsan diğer dosyalar üzerinden erişebilmesini sağlar. Veya kendi içinde başka alanlar içinden erişmeyi sağlar.

Private ise sadece tanımlandığı Class içinden erişebilir.
Protected ise sadece tanımlandığı sınıfta ya da o sınıfa atanan Class'lardan erişilebilir.

Eğer başına bunlardan hiçbirini koymazsan Internal Class olur.
 
Classlar, nesne tabanlı programların en temelidir. Ben fazla iyi değilim anlatmakta ama örnek verebilirim:
Bir tane araba sınıfı yapayım sana ve bunun üzerinden anlatayım:
C++:
class Araba {
public:
    std::string marka;
    std::string model;
    std::string renk;

    void hizlan() {
        // Hızlanma işlemleri burada gerçekleştirilir
    }

    void frenYap() {
        // Fren yapma işlemleri burada gerçekleştirilir
    }
};
Burada üye veri elemanları arabanın özelliğini, fonksiyonlar ise aracın davranışını belirler.
 
Merhaba, C++'ta Class'ların ne işe yaradığını bilen var mı? Ben bir türlü anlayamıyorum, basitçe anlatabilir misiniz?
Terim karmaşasına girmeden olabildiğince sade şekilde anlatacağım ama bu söylediklerimin ayrıntıları da var, bunu bil.

Class'lar her şeyi nesneleştirip programlamaya katabilmemizi sağlayan yapılardır. Basitçe bir örnek verirsek, bir fabrikanın Çalışanları vardır, Bu çalışanları class yapısı ile programlamaya dahil ederiz. Daha sonra bu çalışanların altında da Maaşlı Çalışan ve Saatlik Çalışan vardır. Bunları da class yapısı ile Çalışanlar kısmının altına dahil ederiz. Bu Class yapıları içerisinde de bunlara özellikler veririz. Böylelikle günlük hayatta karşılaştığımız olayları / durumları / kişileri / nesneleri programlamaya dökebiliriz.

  • Çalışan (Hepsi isim, doğum tarihi vb ortak özellikleri taşır)
    • Maaşlı Çalışan (aldığı ücret farklıdır, hakları farklıdır)
    • Saatlik Çalışan (aldığı ücret farklıdır, hakları farklıdır)
Bu alt alta Class'ları dahil etme durumuna da Inheritance (kalıtım,miras) denir. Üst kısımlara ortak özellikler eklenirken, alt kısımlara farklılıklar eklenir. Her bir alt class, üst class'daki özelliklere sahiptir, miras alır yani.

Maaşlı veya Saatlik çalışan adı altında eklenen/oluşturulan her bir insan da programlama mantığında birer nesne'dir. (object)

Object Oriented Programming (OOP), yani Nesne Yönelimli Programlama mantığı da buradan gelir.

Sınıf yapıları ile her şeyi nesneleştirip bir algoritmaya dolayısıyla programa dökmeye yarar.
 

Technopat Haberler

Geri
Yukarı