OOP ile ilgili yazılarıma devam ediyorum arkadaşlar.Bu yazımda miras alma konusundan bahsedicem.Örnek olarak Kangal köpeklerini ele alalım.Kangal bir köpektir.Köpek bir hayvandır.hayvanlarda canlıdır.Arada omurgalı hayvanlar omurgasız hayvanlar diyede ayrılabilir ama o kadar detaya girmiycem.Her canlının bir ismi vardır.her hayvan hareket eder.her köpek 4 ayak üstünde yürür.Buraya kadar geldiğimizde hepsini köpek üstünde birleştirebiliriz.Sonrada Kangal köpeğinin Koruma özelliğini ekleyebiliriz. Eğer böyle yapmazsak boş vere fazladan kod yazmış oluruz.Şöyle düşünün hayvandan sonra kedilerin geldiğini ve kedilerden sonrada Van kedisinin geldiğini.Neden tekrar tekrar özellikleri yazayımki.Daha alt bir katmandan miras alırım ve özellikleri üstüne inşa ederim.Yine gerçek hayatı kodlarımıza dökelim ve temel bir katmandan başlayalım.
İlk Olarak Hayvan katmanını temel aldım.
public class Hayvan
{
public bool _Cinsiyet;
}
Bir hayvan Class'ım var ve Hayvan tipinde bir Obje yarattım.Her hayvanın bir cinsiyeti vardır ve bool tipinde tutucam bu cinsiyeti.
public class Kopek : Hayvan//Burada miras alma işlemi iki nokta ve miras alınıcak class olarak gerçekleşiyor
{
public string _ad;
private void NefesAl()
{
MessageBox.Show("Nefes Aldım");
}
private void NefesVer()
{
MessageBox.Show("Nefes Verdim");
}
public void Havla()
{
NefesAl();
MessageBox.Show("Hav Hav");
NefesVer();
}
}
Kopek objemizide yarattık ve Hayvan'dan miras aldık şimdi resime bakalım
Kopek classımızda _ad isminde bir field tanımlamamıştık ama kopek objesi hayvandan miras aldığı için artık köpek nesnesindede cinsiyet fieldı görülebilmekte.Burda yaptığım tekrar yazmamak oldu.Burda 3 tanede methot tanımladım arkadaşlar bunlar NefesAl , NefesVer ve Havla methotları C#'da OOP - 2 Encapsulation konusunda fieldları kapsüllemiştik burdada erişim belirleyici olarak NefesAl ve NefesVer methotlarını private tanımladım.Yani burda yaptığım işlem Methot Encapsulation işlemi oldu.Dışarıdan Havla methodunu çalıştırdığımda önce nefes alıcak sonra havlıycak ardından da nefes vericek.Şimdi bir adım daha üst katmana geçelim.Kangal köpeğinin en bilindik özelliklerinden biri korumacı yapısıdır.Çobanların yoldaşıdır Kangallar.Kodlara dönersek bu sefer hayvan sınıfından değilde kopek sınıfından miras alıcak Kangal.
class Kangal: Kopek
{
public void SuruyuKoru()
{
MessageBox.Show("Koruyorum");
}
}
Kangalın SuruyuKoru methotunuda yazdıktan sonra arkadaşlar miras alma işlemim tamamlanıyor.
Kangal kng = new Kangal();
kng._ad = "Karabaş";
kng._Cinsiyet = true; // erkek olursa true dişi olursa false die düşündüm.
kng.Havla();
kng.SuruyuKoru();
Yukardaki örnekte bir Kangal yarattık ve miras aldığı özelliklerle beraber kangalı biçimlendirdik.Miras alma ile ilgili anlatabileceğim bu kadar arkadaşlar okuduğunuz için teşekkürler.
Yönelimli etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Yönelimli etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
24 Nisan 2012 Salı
C#'da OOP - 3 Inheritance (Miras Kalıtım Alma)
Etiketler:
Csharp,
Inheritance,
kalıtım,
mrias,
Nesne,
Nesne Yönelimli Programlama,
Object,
Object Oriented Programming,
OOP,
Oriented,
Programlama,
Programming,
recep gür,
Yönelimli
17 Nisan 2012 Salı
C#'da Object Oriented Programming (OOP) Giriş
Merhaba arkadaşlar.Sizlere OOP'den(Türkçe açılımı Nesne Yönelimli Programlama) bahsetmeden önce biraz geçmişten bahsetmek istiyorum.OOP'den önceki dönemlerde bilgisayarlar daha çok hesaplama yapmak için kullanılıyordu. Finansal ve Mali işlemler gibi. Bugünkü kullanım şekli çok farklı 1960 larla günümüzü yan yana koyduğumuz zaman bugün inanılmaz farklı bir yerdeyiz.Tabletler akıllı Telefonlar bugün olmazsa olmazlarımızdan.Gelişimlerini düşününce ve ne amaçla kullandığımızı düşününce elbetteki çok büyük farklar var. Eski günlerde hesaplama gibi işlemler için kullanırken bugün hayatımızı dijital ortama uyarlamamızı sağlıyorlar.
Bugün internette dolaşırken birçok farklı yapı birçok farklı site görebiliriz.Birçoğu günlük hayatımızın içerisinden kesit alınıp programlanmıştır.Bunlarla ilgili birkaç örnek vermek istiyorum dostlar.
Facebook'u ele alalım bolca özelliği var aklıma ilk gelenlerden biri fotoğraf albümleri.Eskiden birisinin düğünü olurdu giderdik oynardık eğlenirdik sevdiklerimizin mutlu gününde bolca Fotoğraf çekilirdik. Sonrada fotoğrafçıdan resimleri alır ve bir albüm yapar saklardık ara ara bakar geçerdik. Şimdiyse dijital fotoğraf makineleri ile resimleri alıp facebookta albüm oluşturup ordan bakıyoruz.
E-Ticaret sitelerini ele alalım bu seferde eskiden dışarıya çıkardık alışveriş yapmaya.Çarşı pazar ne ihtiyacımız varsa ona yönelik olarak dolaşırdık ve alışverişimizi yapardık.Bugün bunların yerini web siteleri aldı. Ürünleri kategorilere göre listeliyorlar ve sepete ekleyip ödememizi yapıyoruz üründe bize geliyor.
Albümler oluşturuyoruz alışveriş yapabiliyoruz ve dahasıda var tabiki bunlar sadece örnekti.Gerçekten tek farkı bu örneklerde ortamın dijital olması.Herşeyin dijital ortama taşınması.
Örnekleri düşününce ben OOP'i gerçek hayatı programlamak olarak görüyorum.Bunun için iyi bir gözlem yapmak gerekli tabikide.
Eskiden posta atardık şimdi ePosta atıyoruz arkadaşlar böyle bir örneğimiz daha var elimizde yine gerçekte olan birşey dijital ortama geçmiş durumda.
1-Mektubu kim yazar ?
2-Mektubu yazdıktan sonra gider posta kutusuna atar.
3-Postacı gelip alır ve adrese götürür.
4-Posta atılan kişide mektubu okur.
İnsan mektubu yazar bir nesne oluşturur.
Posta Kutusuna atar posta kutusuda başka bir nesnedir.
Postacı gelir mektup nesnesinin üzerindeki bir değeri okur bu değer adres bilgisidir ve adrese götürür.
Son olarakta diğer kişi mektubu alır ve okur.Nesne ile iletişime geçer arkadaşlar.
Gerçek dünya nesneler bu nesnelerin birbirleri ile iletişimi ile geçiyor.Yani gerçek hayat nesnelerden oluşuyor ve nesnelerin değerleri (Biz cihazın seri numarası) ve davranışlarından (işlev ve fonksyonları) ibarettir.Şöyle diyelim o zaman karşınıza bir nesne alın ve özelliklerini düşünün birde bu nesnenin bir işlevi vardır bir işe yarar bunuda fonksyon olarak düşünün işte bu nesneyi dijital ortama geçirmeye biz OOP diyoruz.
OOP programlamada nesneler dizayn ederek ve bu nesnelere işlemler yükleyerek programlama yapmamızı sağlayan bir tekniktir.
Okuduğunuz için teşekkür ederim arkadaşlar.
Bugün internette dolaşırken birçok farklı yapı birçok farklı site görebiliriz.Birçoğu günlük hayatımızın içerisinden kesit alınıp programlanmıştır.Bunlarla ilgili birkaç örnek vermek istiyorum dostlar.
Facebook'u ele alalım bolca özelliği var aklıma ilk gelenlerden biri fotoğraf albümleri.Eskiden birisinin düğünü olurdu giderdik oynardık eğlenirdik sevdiklerimizin mutlu gününde bolca Fotoğraf çekilirdik. Sonrada fotoğrafçıdan resimleri alır ve bir albüm yapar saklardık ara ara bakar geçerdik. Şimdiyse dijital fotoğraf makineleri ile resimleri alıp facebookta albüm oluşturup ordan bakıyoruz.
E-Ticaret sitelerini ele alalım bu seferde eskiden dışarıya çıkardık alışveriş yapmaya.Çarşı pazar ne ihtiyacımız varsa ona yönelik olarak dolaşırdık ve alışverişimizi yapardık.Bugün bunların yerini web siteleri aldı. Ürünleri kategorilere göre listeliyorlar ve sepete ekleyip ödememizi yapıyoruz üründe bize geliyor.
Albümler oluşturuyoruz alışveriş yapabiliyoruz ve dahasıda var tabiki bunlar sadece örnekti.Gerçekten tek farkı bu örneklerde ortamın dijital olması.Herşeyin dijital ortama taşınması.
Örnekleri düşününce ben OOP'i gerçek hayatı programlamak olarak görüyorum.Bunun için iyi bir gözlem yapmak gerekli tabikide.
Eskiden posta atardık şimdi ePosta atıyoruz arkadaşlar böyle bir örneğimiz daha var elimizde yine gerçekte olan birşey dijital ortama geçmiş durumda.
1-Mektubu kim yazar ?
2-Mektubu yazdıktan sonra gider posta kutusuna atar.
3-Postacı gelip alır ve adrese götürür.
4-Posta atılan kişide mektubu okur.
İnsan mektubu yazar bir nesne oluşturur.
Posta Kutusuna atar posta kutusuda başka bir nesnedir.
Postacı gelir mektup nesnesinin üzerindeki bir değeri okur bu değer adres bilgisidir ve adrese götürür.
Son olarakta diğer kişi mektubu alır ve okur.Nesne ile iletişime geçer arkadaşlar.
Gerçek dünya nesneler bu nesnelerin birbirleri ile iletişimi ile geçiyor.Yani gerçek hayat nesnelerden oluşuyor ve nesnelerin değerleri (Biz cihazın seri numarası) ve davranışlarından (işlev ve fonksyonları) ibarettir.Şöyle diyelim o zaman karşınıza bir nesne alın ve özelliklerini düşünün birde bu nesnenin bir işlevi vardır bir işe yarar bunuda fonksyon olarak düşünün işte bu nesneyi dijital ortama geçirmeye biz OOP diyoruz.
OOP programlamada nesneler dizayn ederek ve bu nesnelere işlemler yükleyerek programlama yapmamızı sağlayan bir tekniktir.
Okuduğunuz için teşekkür ederim arkadaşlar.
Kaydol:
Kayıtlar (Atom)
