• Narrow screen resolution
  • Wide screen resolution
  • Increase font size
  • Decrease font size
  • Default font size
  • default color
  • red color
JA slide show
Anasayfa arrow Yazılım arrow Programlama arrow Nesne-Yönelimli Programlama
Mar 26 2008
Nesne-Yönelimli Programlama PDF Yazdır E-posta
Yazar Tuba ÇEBİ   
Çarşamba, 26 Mart 2008

C# nesne yönelimi programlayı oluşturan tüm temelleri destekleyen dillerden biridir. Tamemiyle nesne-yönelimli, bileşen-tabanlı bir dil olmak için tasarlanmıştır.

Nesne yönelimli programlama; Bir kavram ve fikirler kümesidir. Bir bilgisayar programı tarafından ortaya atılan sorun hakkında düşünme ve sorunu daha anlamlı ve bu sebeple daha üretgen bir şekilde çözme yoludur.

Nesne-yönelimli bir dil ile programlamanın; daha verimli kod yazma ve bir kez yazıldıktan sonra değiştirilip genişletilebilen kod yazma açısından yararları bulunmaktadır.

OOP da her şey nesnedir. Tom Archer’in C#’ı Kavramak adlı kitabında bir örnekle OOP olan ve olmayan her iki yaklaşımı da bir örnekle şöyle açıklıyor.


Nesne Yönelimli Olmayan Yaklaşım: Bir fatura başlığını temsil eden bir veri yapısına erişimim olacak. Bu fatura başlığı yapısı, her biri toplam satır miktarını içeren fatura ayrıntı yapılarının bir çift bağlı listesini de içerecektir. Bu nedenle, fatura toplamını elde etmek için, toplamFaturaMiktarideğişkenimi arttırırım.
adında bir değişken tanımlamam ve onu 0 ile başlatmam, fat ura başlığı yapısına bir işaretçi almam, ayrıntı satırlarının bağlı listesinin başını almam ve sonra da ayrıntı satırlarının bağlı listesinin üzerinden geçmem gerekir. Her ayrıntı satırını okurken, o satır için toplam değeri içerenüye değişkeni alır...

Nesne-Yönelimli Yaklaşım: Bir fatura nesnem olacak ve ona toplam miktarı sormak için bir ileti göndereceğim. Bilginin nesnenin içine nasıl depolandığınıdüşünmem gerekmiyor. Nesneye iletiler gönderme yolu ile nesneye istekte bulunarak doğal bir şekilde değerlendiririm.
Burada görüldüğü gibi fatura nesnesi, olasılıkla bir fatura ayrıntı nesneleri topluluğu ile her birine kendi satır toplamını isteyen bir ileti göndererek yineler. Bu işlemin nasıl yapıldığıyla ilgilenmeyiz. Buradaki düşünce, sorun alanının gerçek dünya nesneleriyle benzerliğini sağlayarak yazılan programları tasarlamak ve yazmanın daha kolay olduğudur çünkü daha kolay bir şekilde düşünmemize olanak sağlarlar.


CLASSLAR:


C# dili nesne yönelimli bir dil olduğundan bu dil içerisinde kullanılan Class yapısının önemi büyüktür. .NET teknolojilerinde her nesne classlardan türemek zorundadır. Bu durumda Class mantığını özümseyip, her bir Classa özgü nesneler türetilmesini sağlayarak programcıya sunduğu avantajlardan yararlanmış oluruz.
Bir Class’ın yapısı bir takım üyelerden oluşur. Bunlar;

  • Alanlar( Fields): Bir alan, bir değeri tutmak için tanımlanan bir üye değişkenidir. OOP’de alanlara, bazen nesnenin verisi olarak başvurlur. Bir alana, alanın nasıl kullanılmasını isteğimize göre bir çok değiştirici uygulyabiliriz. ( static, readonly, const vb.. )
  • Yöntemler ( Methods ): Nesnenin verisi üzerinde işlevsellik gösteren koddur.
  • Özellikler ( Properties ): Sınıfın istemcilerine alanlar olarak görünen yöntemlerir. Bu istemci için soytlamaya olanak sağlar ve istemcinin alana doğrudan mı eriştiği yoksa isteöci bir yöntemin mi çağrıldığını bilmesi gerekmez.
  • Sabitler: Değiştirilemeyen değeri olan bir alandır.
  • Dizinleyiciler: Bir indexer değerler ayarlamak ya da almak için birnesneyi kolayca dizinlemeti sağlar.
  • Olaylar ( Events ): Olay, bir kod parçasının çalışmasına neden olan şeydir. Örneğin, basit anlamıyla fare hareket ettiğinde, pencere kapatıldığında ya da yeniden boyutlandırıldığında.

C# olayları Microsoft Message Queuing(MSMQ) ve COM+ eş zamanlı olmayan olay modelinde görülen standart yayınla-abone ol tasarım kalıbını kullanır.

Tanımladığımız tüm olaylara, özelliklere, methodlara aynı Class’ın içerisinden erişebildiğimiz gibi, o Class tipinde nesne türeterek farklı Classlardan ya da aynı solutiona ait farklı projelerden de erişilebilir veya erişilemez şeklinde kodlanabilir. Bunun için public, protected, private, internal ya da external gibi erişim tanımlayıcıları kullanabiliriz.

Kaynak: C#'ı Kavramak.
Tom Archer....


Görüntüleme sayısı: 94

Bu yazıya ilk yorumu yazın
RSS yorumları

Yorum yaz
  • Lütfen yorumunuzun yazının konusu ile alakalı olmasına dikkat edin.
  • Kişisel hakaret içeren yorumlar silinecektir.
  • Reklam amaçlı yorumlar silinecektir.
  • 'Gönder' düğmesine basmadan önce yeni bir güvenlik kodu üretmek için tarayıcınızın *Yenile* düğmesine basın.
  • Yukarıdaki durum yanlış güvenlik kodu girildiği durumlarda geçerlidir.
İsim:
Web sayfası:
Başlık:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
Yorum:



Güvenlik kodu:* Code
Ek yorumlar konusunda bana e-posta aracılığı ile ulaşılmasını istiyorum.

Yaptığınız yorumlar için teşekkür ederim.

 
< Önceki