.Net de kod yazmayı zevkli kilan ilk unsurlardan biri object oriented kod yazmamıza olanak vermesi heralde. malum devir hiz devri , herşey o kadar hizli gelişiyor ve değişiyor ki bizimde bir şekilde bu hiza ayak uydurmamiz gerekiyor,eğer sizde şuan bu yazıyı okuyorsanız, kod yazmak için doğru bir tercih yapmışsınız demektir. c# i object oriented yapan nedenlerden biri 4 bir tarafinizi class'larla kuşatmasi.Eğer daha önce bir class yazmadıysanız ve sadece framework'un sağladıgı imkanlardan faydalanarak kod yazdıysanız belki Random rnd = new Random(); deyip rastgele bir sayı üretirken napiyorum ben şuan acaba , arka tarafta neler oluyor , alla alla nası oluyorda bu işlem gerçekleşiyor , bunun kodları nerde gibi sorular aklınıza gelmiştir,çünkü benim devamlı geliyordu : )) eğer random diye bir class olmasaydı ve hatta class diye bir yapı olmasaydı ve bizim rastgele bir sayı üretmemiz gerektiğinde tekrar tekrar en baştan kod yazmamız gerekseydi işlerin ne kadar uzuyacagını bi düşünün isterseniz.Bizimde object oriented dan anlıycağımız ilk şey aslında bu olmalı bence , yani tekrar tekrar yazıcağımız şeyleri bir standarta sokarak bu tekrarlardan ve zaman kaybından kurulmak.Class yazmak özünde bi soyutlamadir ve örnek vererek açıklamak gerekirse class bir pasta tarifi gibidir ama asla bir pasta değildir.  Pastanın nasıl olucagını class ile belirleriz..Ve pasta bir class ise pastanın içindeki malzemelerde class ın property leri gibi düşünülebilir : )) veya insan diye bir class yazdıgımızı düşünelim ; insan class'i asla gerçek bir insan gibi somut birşey değildir,bir insanın nasıl olucagını anlatan bir soyutlamadır.saç , göz , burun yapısı , boyu gibi özellikleri olucagı bu class ın içinde belirlenir,ve koşucak , yürüyecek , konuşacak , yemek yiyecek gibi method larda bu class ın içinde belirlenir...ve biz oluşturdugumuz bu class'in nesnesini oluşturdugumuzda ona bir isim veririz mesela;

insan tarik = new insan();

artık insan class'indan üretilmiş olan tarik koşabilen yürüyebilen saçi olan bir canli , object olmuş oluyor. mesela class'in içinde saç rengi diye bir propery yazdiysak tarik.saçrengi = "sari"; diyerek tarik'a bir saç rengi verebiliriz veya tarik.koş(); methodunu kullanarak tarik'in koşmasını sağlayabiliriz. ve artık insan class ından örnekleyeceğimiz yani instance alacağımız bütün insanlar istersek koşabilecekler.ve biz tekrar tekrar koş methodunu yazmıycaz farkettiyseniz.sadece koş dememiz yetecek.Veya yazdiğimiz class'in Araba isimli bir class oldugunu hayal edin.

Arabaya ait bütün özellikler methodlar belirlendi ve araba class'imizdan bir murat131 marka 1985 model bir araba ürettik,aynen aşağidaki gibi :))

 

ve sene oldu 1987 ve biz araba class ini yazan araba üreticisi olarak murat131 in yepyeni bir ürününü çıkarmak istiyoruz.klimali , abs fren sistemli , hava yastiği olan o zaman bütün araba class'imizi yeniden mi yazmamız gerekecek bu yeni murat131 için? - tabiyki hayir.Araba class'imiz bütün özleliklerini yeni bir class'a miras bırakacak ve araba class'inda bulunan bütün özellikler,methodlar vs.vs yani bütün member'lar yeni oluşturdugumuz class'a geçecek.Yazinin 2.bölümünde bir class yazarak devam edicez ..