11.1 Bölümün İçindekileri
Bu bölümde nesne tabanlı programlamanın temel kavramlarını tanıyacağız – sınıflar ve nesneler – ve .NET Çerçevesi’nin standart kütüphanelerinden sınıfları nasıl kullanacağımızı açıklayacağız. Yaygın olarak kullanılan bazı sistem sınıflarından söz edeceğiz ve onların örneklerini (nesneleri) nasıl oluşturacağımızı ve kullanacağımızı göreceğiz. Bir nesnenin alanlarına nasıl erişebileceğimizi, kurucuları nasıl çağıracağımızı, ve sınıfların statik alanları ile nasıl çalışacağımızı tartışacağız. Son olarak, “ad alanları” teriminin anlamını – bize nasıl yardımcı olduğu, nasıl dahil edileceği ve kullanılacağı hakkında bilgili olacağız.
Son birkaç on yıl içinde programcılık ve bilişim sektörü oldukça büyüyerek programların oluşturulma şekilleri değişmiştir. Nesne yönelimli programlama (OOP) böyle radikal bir fikir sunuyor. OOP ilkelerine ve kullandığı kavramlara kısa bir giriş yapacağız. Birincisi, sınıflar ve nesnelerin ne olduğunu açıklayacağız. Bu iki terim, OOP temelidir ve herhangi bir modern programcının hayatının ayrılmaz bir parçasıdır.
11.2.1 Nesne Yönelimli Programlama Nedir?
Nesne yönelimli programlama (OOP) bilgisayar programları kurmak için nesneler ve onların etkileşimleri kullanan bir programlama paradigmasıdır. Böylece programcıya gerçek hayattaki birçok problemi sezgisel (basit mantıkla) çözme gücü verecek konu alanının, anlaşılması kolay, basit bir modeli elde edilir.
Şimdilik OOP hedefleri ve avantajları nelerdir konusuna ve bunun yanı sıra, sınıfları ve nesne hiyerarşileri oluşturma ilkelerini ayrıntılarıyla açıklamaya girmiyoruz. Sadece OOP programlama teknikleri arasında sarmalama, soyutlama, çokbiçimlilik ve kalıtım olduğundan söz edeceğiz. Bu teknikler bu bölümde değil, daha sonraki “Nesne Yönelimli Programlamanın İlkeleri” Bölümü’nde ele alınacak. Şimdi OOP temel kavramı olarak nesneler üzerinde duracağız.
11.2.2 Nesne Nedir?
Nesne Yönelimli Programlama (OOP) bağlamında nesne kavramını tanıtacağız. Yazılım nesneleri gerçek dünya nesneleri veya soyut kavramları modeller.
Gerçek-dünya nesneleri için örnekler insanlar, arabalar, eşyalar, satış, vb. sayılabilir. Soyut nesneler bir bilgisayar programında kullanılan nesne alanındaki kavramların modelidir. Soyut nesne örnekleri için, veri yapıları, yığın, kuyruk, liste, ağaç verilebilir. Soyut nesneler bu bölümün değil, sonraki bölümlerin konusu olarak anlatılacaktır.
Gerçek dünyadan nesnelerin (ve aynı zamanda soyut nesnelerin) özellikleri iki grupta ele alınabilir:
-
Durum – nesnenin dış dünyaya yansıttığı özellik(ler)in belirli bir an için aldığı değer(ler)
-
Davranış – bu nesne tarafından yapılabilen belirli ve ayırt edici eylemler.
Gerçek dünyadan bir nesne için "köpek" örneğini ele alalım. Köpek durumları için “ad”, “tüy rengi”, “ırk”, ve davranışları için de “havlıyor”, “oturuyor”, “yürüyor” olarak düşünmek mümkündür.
OOP nesneleri veriler ve onların üzerindeki işlemleri biraraya getirir. Gerçek dünya nesnelerine karşılık gelen veri ve eylemleri içerir:
-
Veri üyeleri – nesne değişkenlerine gömülüdürler ve durum bilgisini taşırlar.
-
Metotlar - detaylı olarak ele almıştık. Nesneleri oluşturmak için bir araçtır.
11.2.3 Sınıf Nedir?
Sınıf nesnelerin soyut özelliklerini tanımlar. Nesneler için bir yapı veya bir şeyin
doğasını (bir nesne) açıklamak için kullandığımız bir kalıp sağlar. Sınıflar OOP temel taşlarıdır ve nesnelere kopmaz bağlarla bağlıdır. Ayrıca, her nesne tam olarak belirli bir sınıfının bir örneğidir.
Şimdi, sınıf ve nesneye bir örnek vereceğiz. Köpek sınıfımız ve bu sınıfın bir örneği olan Lassie nesnemiz var (Köpek türünün bir nesnesi olduğunu söyleriz). Köpek sınıfı tüm köpeklerin özelliklerini açıklar; Lassie ise belirli bir köpektir.
Sınıflar nesne yönelimli programlara modülerlik imkanı sağlar. Özellikleri problem alanını iyi bilen fakat programcı olmayan insanlar tarafından anlaşılır ve anlamlı olmak zorundadır. Örneğin Köpek sınıfı “RAM” özelliğine sahip olamaz (veya olmamalıdır) çünkü bu sınıf kapsamında böylesi karakteristiğin bir anlamı yoktur.
11.2.4 Sınıflar, Öznitelikleri ve Davranışları
Sınıf, bir nesnenin özelliklerini (öznitelik diyeceğiz) ve davranışı (nesne tarafından gerçekleştirilen eylemleri) belirler. Sınıf öznitelikleri kendi değişkenleri olarak (alan değişkenleri) sınıfın gövdesinde tanımlanır. Nesnelerin davranışı sınıflarda metotların tanımlarıyla modellenir.
Bundan sonraki açıklamalarımızı gerçek hayattan bir sınıfın tanımı ve örneğini konu alarak göstereceğiz. Köpek örneği ile düşünelim. Gerçek dünyadan bir “köpek” nesnesini modelleyen Köpek sınıfı tanımlamak istiyoruz. Sınıf tüm köpekler için ortak olan özellikler için tasarlanacak, (tüy rengi ve ırk gibi), ayrıca tipik köpek davranışını da modellemelidir (örneğin, oturuyor, havlıyor, yürüyor).
Bu durumda öznitelik olarak ırk ve tüy rengi, davranış olarak Havla(), Otur(), Yürü() metotları düşünülebilir.
11.2.5 Nesneler, Sınıf Örnekleri
Şimdiye kadar söylenenlerden çıkarılacak sonuç, her nesne sadece bir sınıfın bir örneğidir ve yürütme zamanında yaratıldığında bu sınıfın örneğine göre oluşturulur.
Sınıf durumuyla, davranışıyla belirli bir sınıfın örneğini temsil eder. Durum nesneye özgü değerler alabilir, ancak davranışları tanımlayan metotlar her nesne için ortak sayılabilir.
Dostları ilə paylaş: |