C++
Özet - Sınıflar
Üye değişken, fonksiyon ve erişim belirleyicileri birleştirerek bir User sınıfı yazarsın.
Özet - Sınıflar
Bu bölümde C++ sınıflarının temellerini gördün. Bir sınıf class anahtar kelimesiyle tanımlanır, gövdeden sonra noktalı virgül gerekir. Üye değişkenler veriyi, üye fonksiyonlar davranışı tutar.
this işaretçisi çağrılan nesneyi gösterir; ad çakışmalarını giderir ve zincirleme çağrılara olanak tanır. Erişim belirleyiciler (public, private, protected) üyelerin dışarıdan erişilebilirliğini kontrol eder ve kapsüllemeyi sağlar. Şimdi tüm bunları bir araya getiren bir görevle pekiştireceğiz.
Uygulama Light sınıfını tanımla ve kullan
Light sınıfını tanımla. int watts; üye değişkeni (private), public: altına void setWatts(int watts) { this->watts = watts; } ve int getWatts() { return watts; } üye fonksiyonlarını ekle. main içinde bir örnek oluştur, setWatts(60) çağır ve std::cout ile getWatts()'ın sonucunu yazdır.
Örnek çözümü göster
#include <iostream>
class Light {
int watts;
public:
void setWatts(int watts) {
this->watts = watts;
}
int getWatts() {
return watts;
}
};
int main() {
Light bulb;
bulb.setWatts(60);
std::cout << bulb.getWatts();
return 0;
}
Uygulama Light sınıfına üye fonksiyon ekle
Yukarıdaki Light sınıfını alıp void describe() adında yeni bir üye fonksiyon ekle. Gövdesinde std::cout << watts << " watt"; yaz. main içinde bir örnek oluştur, setWatts(40) ve describe() çağır.
Örnek çözümü göster
#include <iostream>
class Light {
int watts;
public:
void setWatts(int watts) {
this->watts = watts;
}
int getWatts() {
return watts;
}
void describe() {
std::cout << watts << " watt";
}
};
int main() {
Light bulb;
bulb.setWatts(40);
bulb.describe();
return 0;
}
Sırada ne var?
Sınıfların temellerini öğrendin: tanımlama, üye değişkenler, üye fonksiyonlar, this işaretçisi ve erişim belirleyiciler. Bir nesneyi oluşturduğunda üyeleri başlatmak hâlâ elle yapılıyor; bu sıkıcı ve hataya açık.
Sonraki bölümde yapıcı metot (constructor) ile nesneleri oluşturur oluşmaz başlatmayı öğreneceksin. Yapıcı metot, sınıfıyla aynı isimde olan özel bir üye fonksiyondur ve nesne tanımlandığında otomatik çağrılır. Böylece başlangıç değerleri tek yerde toplanır.
Kendini test et
-
class Light { int watts; public: int getWatts(); }; tanımında watts'ın erişim düzeyi nedir?
class Light { int watts; public: int getWatts(); };
- private
- public
- protected
- Erişim belirleyici yok
Cevabı göster
private — Belirleyici yazılmayan üyeler private kabul edilir.
-
this ile atamayı tamamla
void setWatts(int watts) { ____->watts = watts; }
Cevabı göster
void setWatts(int watts) { this->watts = watts; }
Sıradaki ders: Yapıcı metot