C++ Encapsulation Kapsülleme Nedir ?
C++'ta kapsülleme (encapsulation), nesne yönelimli programlamanın (OOP) temel prensiplerinden biridir ve verileri (özellikleri) ve bu veriler üzerinde işlem yapan fonksiyonları (metotları) tek bir birim (sınıf) içinde bir araya getirme işlemidir. Kapsülleme, verilerin ve fonksiyonların dış dünyadan gizlenmesini ve sadece belirli arayüzler aracılığıyla erişilmesini sağlayarak veri güvenliğini ve kodun modülerliğini artırır.
Kapsüllemenin Temel Amaçları:
- Veri Gizliliği (Data Hiding):
- Sınıfın içindeki verilere (özelliklere) doğrudan dışarıdan erişimi kısıtlayarak, verilerin istenmeyen değişikliklerden korunmasını sağlar.
- Verilere erişim ve değişiklik için belirli metotlar (getter ve setter) kullanılarak, verilerin kontrol altında tutulması sağlanır.
- Modülerlik:
- Kodun daha küçük ve bağımsız parçalara (sınıflara) ayrılmasını sağlayarak, kodun daha düzenli ve okunabilir olmasını sağlar.
- Sınıflar arasındaki bağımlılıkları azaltarak, kodun yeniden kullanılabilirliğini artırır.
- Kodun Esnekliği ve Bakımının Kolaylaştırılması:
- Sınıfın iç yapısını değiştirmek gerektiğinde, dışarıdaki kodların etkilenmesini en aza indirir.
- Kodun bakımını ve hata ayıklamasını kolaylaştırır.
C++'ta Kapsülleme Nasıl Uygulanır?
- Sınıflar (Classes):
- Verileri ve metotları bir araya getiren temel yapıdır.
- private, public ve protected erişim belirleyicileri kullanılarak, verilerin ve metotların erişim seviyeleri kontrol edilir.
- Erişim Belirleyicileri (Access Specifiers):
- private: Sadece sınıfın içinden erişilebilir.
- public: Sınıfın dışından da erişilebilir.
- protected: Sınıfın kendisi ve türetilmiş sınıflar tarafından erişilebilir.
- Getter ve Setter Metotları:
- private verilere erişim ve değişiklik için kullanılan public metotlardır.
- Getter metotları, verilerin değerlerini okumak için kullanılır.
- Setter metotları, verilerin değerlerini değiştirmek için kullanılır.
Örnek Kod:
C++
#include <iostream>
class Ogrenci {
private:
int okulNo;
std::string ad;
public:
// Setter metotları
void setOkulNo(int no) {
okulNo = no;
}
void setAd(std::string isim) {
ad = isim;
}
// Getter metotları
int getOkulNo() {
return okulNo;
}
std::string getAd() {
return ad;
}
};
int main() {
Ogrenci ogr1;
ogr1.setOkulNo(12345);
ogr1.setAd("Ayşe");
std::cout << "Okul No: " << ogr1.getOkulNo() << std::endl;
std::cout << "Ad: " << ogr1.getAd() << std::endl;
return 0;
}
Bu örnekte, Ogrenci sınıfının okulNo ve ad özellikleri private olarak tanımlanmıştır. Bu özelliklere doğrudan dışarıdan erişilemez. Erişim için public olan setOkulNo, setAd, getOkulNo ve getAd metotları kullanılmıştır. Bu sayede, verilerin kontrol altında tutulması ve güvenliği sağlanmıştır.
C++ Encapsulation Kapsülleme Nedir ?
4/
5
Oleh
WebYazilimciniz

WebYazilimciniz
Abone Olun
Yazılarımızı beğeniyor musunuz?Abone Olun Yazılarımı Kaçırmayın.
Lütfen yorum yaparken şunlara dikkat ediniz:
Küfürlü, siyasi veya huzur bozucu yorumlar yapmamaya,
Reklam, spam gibi yorumlar yapmamaya.