Veysel Uğur KIZMAZ

C#'ta Kalitim

16.06.2012Okunma Sayısı: 6033Kategori: C#.Net

Nesne yönelimli programlamanin temelini olusturan yapi kalitimdir.
Günlük hayattan bir örnek ile konuyu kavramaya çalisalim.

Benim maddi durumum çok iyi, arkadasimin ise çok kötü. Benim servetimle yapabileceklerime bir bakalim:
   1. Yardimsever biriyim ve servetimin bir bölümünü insanlara yardim için kullaniyorum.
   2. Arkadasim ile beraber bir is kuruyoruz ve iste kullanmasi için servetimin bir bölümünü ona ayiriyorum.
   3. Cimri biriyim ve kimseyle maddi paylasimda bulunmuyorum.

Peki benim maddi durumun programlamayla baglantisi nasildir?

Benim bir class'im var ve içinde tanimladigim fonksiyon, prosedür, property ve degiskenler var. Bu elemanlardan;
   1. Istedigim kadarini herkesle, yani baska siniflarla paylasabilirim.
   2. Istedigim kadarini sadece ortagimin kullanmasina izin verebilirim, yani baska bir sinif tarafindan ulasilmasina izin verebilirim.
   3. Istedigim kadarini baskalarindan saklayabilirim, yani elemanlardan istediklerimin hiçbir sinif tarafindan görünmesini engelleyebilirim.

Peki bunlari kodlarla nasil gösterecegiz?
Bir adet Windows Application olusturalim ve projeye yeni bir class ekleyelim. Class'in adi MirasYedi olsun. Ayni dosya içerisinde MirasSahibi isminde baska bir sinif olusturalim. Bu sinif içerisinde bir adet public prosedür ve bir adet private degisken olusturalim ve MirasYedi class'ina MirasSahibi class'inin kalitimini verelim (MirasYedi : MirasSahibi)

class MirasYedi : MirasSahibi
{

}
class MirasSahibi
{
        private string ad = "Veysel Ugur KIZMAZ";
        public void AdGoster()
        {
                System.Windows.Forms.MessageBox.Show(this.ad);
        }
}

Bu siniflari nasil kullanabiliriz?

MirasSahibi sinifi türünden bir yavru degisken olusturdum ve bu degisken üzerinden AdGoster isimli prosedüre ulasabiliyorum.
Simdi MirasYedi sinifi türünden bir yavru degisken olusturalim ve nelere ulasabiliyoruz görelim:

MirasYedi türünden olusturdugum yavru degisken ile MirasSahibi sinifinda bulunan AdGoster prosedürüne ulasabiliyorum. Yani MirasSahibi sinifindan kalitim alarak public tanimli AdGoster prosedürünü MirasYedi sinifindan da erisebildim.

Kodlarimizi tamamladigimizda her iki kodun da ekranda "Veysel Ugur KIZMAZ" mesajini gösterecegini görecegiz.

 

Veysel Ugur KIZMAZ