1. Anasayfa
  2. Genel

C# Dersleri – Kapsülleme (Encapsulation)

C# Dersleri – Kapsülleme (Encapsulation)
0

Nesne tabanlı programlamanın en önemli bölümlerinden birisidir  Kapsülleme (Encapsulation), iyi de nedir bu kapsülleme diyorsanız kısaca “Değişkenleri ve verileri hatalı kullanım ve dış etkenlerden korumaktır” diyebiliriz hemen bir örnek üzerinde açıklayalım, Öğrenci bilgileri için bir sınıf oluşturalım

public class Ogrenci
        {
            string ogrenciadsoyad;
            string bolum;
            int ogrencino;
        }

bu tanımlama yapısında bu sınıf kullanılarak yukarıdaki değişkenlerin hiç birine direkt olarak erişilemez, erişmek için erişim belirleyicisi olarak public yapmak gerekir. Böyle bir durumda da sınıf içindeki değişken veya metotların herhangi bir güvenliği veya kontrolü kalmayacaktır, işte bu durumu engellemek için kapsülleme kullanılır. İlk olarak klasik yapıda programımızı kodlayalım

 class Ogrenci
        {
            public string ogrenciadsoyad;
            public string bolum;
            public int ogrencino;
            public void Yaz()
            {
                Console.WriteLine("Öğrenci Adı {0}", ogrenciadsoyad);
                Console.WriteLine("Öğrenci Bölümü {0}", bolum);
                Console.WriteLine("Öğrenci Numarası {0}", ogrencino);
            }
        }
        static void Main(string[] args)
        {
            Ogrenci yeni = new Ogrenci();
            yeni.ogrenciadsoyad = "Ayşe Gelen";
            yeni.bolum = "Bilişim Teknolojileri";
            yeni.ogrencino = -120;
            yeni.Yaz();           
            Console.ReadKey();            
        }

görüldüğü gibi öğrencino bilgisine negatif bir değer gönderilmiş ve herhangi bir kontrolden geçirilmeden sınıf içerisinde kullanılmıştır. Kodlarımızı aşağıdaki gibi değiştirirsek eğer dışarıdan gelen kodları kontrol edebiliriz, peki aşağıdaki gibi yapmanın kolay yolu var mı evet var resimde görülen işlemi her değişkene uyguladığınızda program aşağıdaki hale gelmiş olacaktır.
kapsul

  class Ogrenci
        {
            private string ogrenciadsoyad;

            public string Ogrenciadsoyad
            {
                get { return ogrenciadsoyad; }
                set { ogrenciadsoyad = value; }
            }
            private string bolum;

            public string Bolum
            {
                get { return bolum; }
                set { bolum = value; }
            }
            private int ogrencino;

            public int Ogrencino
            {
                get { return ogrencino; }
                set
                {
                    if (value < 0)
                    {
                        ogrencino = 0;
                    }
                    else
                    {
                        ogrencino = value;
                    }
                }
            }
            public void Yaz()
            {
                Console.WriteLine("Öğrenci Adı {0}", ogrenciadsoyad);
                Console.WriteLine("Öğrenci Bölümü {0}", bolum);
                Console.WriteLine("Öğrenci Numarası {0}", ogrencino);
            }
        }
        static void Main(string[] args)
        {
            Ogrenci yeni = new Ogrenci();
            yeni.Ogrenciadsoyad = "Ayşe Gelen";
            yeni.Bolum = "Bilişim Teknolojileri";
            yeni.Ogrencino = -120;
            yeni.Yaz();           
            Console.ReadKey();            
        }
Bu İçeriğe Tepkin Ne Oldu?
  • 13
    ba_ar_l_
    Başarılı
  • 0
    gayet_yi
    Gayet İyi
  • 1
    te_ekk_rler
    Teşekkürler
  • 2
    anlamad_m
    Anlamadım
  • 1
    yetersiz
    Yetersiz
İlginizi Çekebilir
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Yorum
Inline Feedbacks
View all comments