Şimdi Ara

C++ get ve set fonksiyonlarını açıklaya bilirmisiniz?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
555
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Ya ben tam olarak anlayamıyorum tamam bir sınıf yarattım buraya kadar anladım ama set ve get girince kafam karıştı açıklaya bilirseniz sevinirim



  • C++ ta get set yok.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Bir sınıf tasarlanırken, sınıfın objelerine ait değişkenler (member field) private olarak tanımlanır. Böylece bu değişkenleri sadece sınıfın kendisi kullanır. Nasıl ayarlanacağını, nasıl okunacağını, kimlerin ayarlama ve görme yetkisi olacağını sınıf kendisi karar verir.

    Eğer private değil de public olarak tanımlanırsa, bu sefer sınıf olmasının bir anlamı kalmaz. Önüne gelen değişkenleri istediği gibi değiştirebilir.

    Şimdi private olarak tanımlanan bu değişkenleri, sınıfın gözetimi altında değiştirebilmek için (daha doğrusu sınıftan değişkenin değiştirilmesini istemek için) get ve set metodları tanımlanır. Değiştirmek istediğimiz değişkenler private olduğu için direkt değiştiremiyoruz. Bunun yerine public olarak tanımladığımız get ve set metodlarını çağırıp onlara değiştirtiyoruz.

    Örneğin bir köpek sınıfın var ve "yaş" diye bir değişken var. Senin tasarımına göre de köpekler en az 1, en fazla da 15 yaşında olabilmeli diyelim. Eğer "yaş" değişkenini public olarak tanımlarsan, senin sınıfını kullanan başka bir programcı köpeğin yaşını kafasına göre "köpek.yaş = 30" deyip, 30 olarak ayarlayabilir.

    Bu durumun önüne geçmek için "yaş" değişkeni private olarak tanımlanır. Böylece haylaz programcı "köpek.yaş = 30" işlemi uygulamaya çalıştığında compiler "yaş is not accessible" gibi bir hata verir. E buraya kadar tamam, değişkenimizi programcıdan koruduk. Peki gerçek bir değer girmek isterse nasıl yapacağız?

    İşte burada da get ve set metodları devreye giriyor. Sen öyle bir setYaş() metodu tanımlayacaksın ki, yaş 1 ile 15 arasında değilse hata verecek ve değişime izin vermeyecek. Eğer doğru yaş girilmişse, işlem yürütülecek.

    get ve set metodun köpek sınıfının içinde olacağı için, köpek sınıfına ait her türlü private değişkene erişim izni var. Aynı zamanda get ve set metodları da public olduğu için dışarıdan kullanıma açık. Böylece get ve set metodların sınıf ile kullanıcı arasında köprü görevi görmüş oluyor.




  • Yorumuz icin cok tesekkur ederim hocam Simdi anladim.ben deitel kitabindan calisiyorum ve derstede gormedik kitap mantikli bir sekilde sirayla gidiyor ve acikliyo bu komutlari ama anlayamiyordum Simdi daha net oldu hersey

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Rica ederim :)
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.