Nesne Yapısına Giriş

Nesneleri kullanarak gerçekleştirilen programlama anlayışı yaklaşık olarak 50 yıldır var olsa da, nesneler son 20 yılda programlamanın vazgeçilmez bir öğesi haline gelmiştir. Günümüzde sıklıkla kullanılan nesne yönelimli programlama anlayışından bahsedebilmek için programlama dilinde aramamız gereken bir takım kavramlar bulunmaktadır. Bu kavramlar; Sınıf, Nesne, Kalıtım, Çok biçimlilik ve Kapsüllemedir.

Sınıf kavramını günlük hayatımızla ilişkilendirecek olursak, gerçek dünyada gözlemlediğiniz bazı nesnelerin soyut olarak ifade edilmesi veya basitleştirilmesi olarak tanımlayabiliriz. Nesneler ise bu sınıfların birer üyesidir. Bir sınıfı temel olarak iki bileşene ayırmamız mümkündür. Bunlar; nesneyi tanımlayan özellikler ve nesneyle ilişkilendirmek istediğimiz yöntemler veya eylemlerdir.

Bir nesneyle ilişkilendirmek ve kaydetmek istediğiniz veriler, sınıfın özelliklerini oluşturmaktadır. Sınıf özelliklerinin değerlerini değiştirerek nesnenin durumunu değiştirebilirsiniz. Bir nesnenin durumu, nesneyi tanımlamak için kullanılan özelliklerin değerleriyle belirlenir.

Bir nesneye ait durumu tanımlamak için özellik değerleri kullanılmaktadır. Sınıf metotları ise bu özelliklere etki etmektedir. Buradan hareketle metot kavramını, nesnelerin belirli işlemlerini gerçekleştirmeyi sağlayan fonksiyonlar olarak tanımlayabiliriz. Kısaca sınıf metotları, nesnenin gerçekleştirebileceği davranışları veya eylemleri belirlemektedir.

Metotlar genel olarak değer (parametre) alabilen, değer döndüren ve birden fazla değer ile işlem yapabilen yapıdadırlar. Metotları nesnelerle ilişkilendirmek istediğimiz eylemleri tanımlamak için kullanırız.

Hazırladığımız programlarda gerçekten kullanabileceğimiz yapılar nesnelerdir.

Öncelikle nesnenin türetileceği sınıf adı yazılır ve bir boşluk bırakıldıktan sonra türetilecek olan nesnenin adı yazılmaktadır. Ardından eşittir sembolü kullanılarak New anahtar kelimesiyle birlikte sınıfın adı tekrardan yazılır. Böylelikle belirtilen sınıfa ait bir nesne türetilmiş olur. Burada kullanılan New anahtar kelimesi ile sınıftan nesne türetilmiştir. Burada kullanılan metoda Yapıcı Metot ve Constructor denilmektedir. Bu metotların detaylarına ilerleyen ünitelerde değinileceği için şimdilik bu kadar bilgi sahibi olmanız yeterli görülmektedir.

Nesne türetme işlemi gerçekleştirilirken nesne adını belirlediğimiz alanda belirli bir yazım tarzı benimsememiz hazırladığınız kodların okunabilirliğini olumlu yönde etkileyecektir. Bununla beraber isimlendirme kurallarını da dikkate almanız gerekmektedir.

Kalıtımdan bahsedebilmek için bir sınıf kendinden üstte bulunan sınıfın özelliklerini taşıması gerekmektedir. Böylelikle bir sınıfa ait özelliklerin bir veya daha fazlasını başka sınıf veya sınıflar içinde kullanabiliriz. Projelerimizde kalıtımı kullanabilmek için iki nokta üst üste ( : ) kullanmamız gerekmektedir. Bu işlem “:” operatöründen önce sınıfımızın ismini, sonra da kalıtım alınacak sınıfın ismini yazarak gerçekleştirilmektedir.

Kalıtımla bir sınıftan alınan özellik olduğu gibi kullanılıyorken, çok biçimlilik işleminde bu özellik farklı şekillerde de kullanılabilmektedir. Bu işleme aynı zamanda Polimorfizm de denilmektedir. Çok biçimlilik durumunu örneklemeden önce birkaç teknik terimden kısaca bahsedilecektir.

Virtual: Bir sınıftan alınan kalıtımının değiştirilebilmesi için kullanılan komut.

Override: Bu komut ise kalıtım ile gelen metodun bulunduğu sınıftaki değer yerine başka bir değer kullanılarak işletilmesini sağlamaktadır.

Komutlar ve tanımlarından da anlaşılacağı üzere çok biçimlilik, kalıtımla gelen metotların farklı biçimlerde kullanılmasına imkan tanıyan bir özelliktir.

Kapsülleme nesne yönelimli programlamanın önemli özelliklerinden birisidir. Bazı durumlarda nesnelerin özelliklerini gizlemek zorunda olabiliriz. Yani daha öncede bahsedildiği gibi nesne adı yazıldıktan sonra nokta operatörü konularak açılan özellikler listesini kısıtlamak isteyebilirsiniz. Biraz daha açacak olursak, verileri programın diğer bölümleri tarafından yanlışlıkla yapılan değişikliklerden korumak için bir nesnenin içine yerleştirirsiniz. Bu şekilde yapılan bir nesne içindeki verileri gizleme işlemine kapsülleme denilmektedir.