C/C++ Class nedir?

566156

Kilopat
Katılım
22 Temmuz 2022
Mesajlar
5.912
Makaleler
19
Çözümler
71
Merhaba, C++'ta Class'ların ne işe yaradığını bilen var mı? Ben bir türlü anlayamıyorum, basitçe anlatabilir misiniz?
 
Class'lar nesne tabanlı programlamanın (OOP) en temelidir. Normal programlama mantığına göre farklı bir çalışma prensibi vardır.
 
Üniversitedeki sınıflar gibi işte. Her birinde farklı dersler var. Sınıflara farklı farklı hocalar, farklı farklı öğrenciler girer. Yeri gelir farklı ders işlenir.
 
Ve private, public gibi kelimeler var. Bunlar ne işe yarıyor? Mesela public class gibisinden.
 
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.
 
Şu dördünü çok iyi öğren. Inheritance, encapsulation, polymorphism ve abstraction. YouTube'da bolca örnek var. Genelde hayvanlar üzerinden ilerlenir.
 
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.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…