Teknolojilerin kesiştiği nokta!

Java nedir, ne değildir? 2

Nesneler, tasarım şablonları ismi verilen (temelde 23 adet) şablonlardan (class-sınıf olarak anılırlar)türetilir. Amacımız genel tanıtım olduğu için tasarım şablonlarının ayrıntısına bu yazıda girmeyeceğiz. Nesnelerin davranışları (veri tipleri, diğer nesnelerle olacak olan ilişkileri vs.) ise sarmalama (encapsulation) denilen bir yöntemle yapılır. Açık, özel ve korumalı ismi verilen sona doğru kısıtlılığı artan üç adet sarmalama yöntemi mevcuttur.

Nesne yönelimli programlamanın altı temel kuralı nesne yönelimli programlama alanında yaptığı öncül çalışmalarıyla tanınan Amerikalı bilgisayar bilimcisi Alan Curtis Kay tarafından şöyle tanımlanmıştır.

  1. Her şey bir nesnedir
  2. Nesneler birbirine iletiler göndererek iletişim kurarlar
  3. Her nesnenin hafızada kapladığı bir alanı vardır
  4. Her nesne bir sınıftan türetilmiştir
  5. Her sınıf, kendisinden türeyen nesneler için ortak davranışlar içerir
  6. Bir program listesini denemek için, kontrol ilk nesneye gider ve hatırlatıcı ona bir iletiymiş gibi davranır.

Bu tanımlama Kay’in de geliştirici ekibinin içinde bulunduğu Smarttalk dilinin özelliklerini tanımlamak için kullanılmış fakat daha sonra tüm nesne yönelimli programlama kavramını içine aldığı fark edilerek bu kavram için genel bir tanım olarak benimsenmiştir.

Kay’in tanımlamasının değiştirilmiş bir sürümü Tim Budds’un An Introduction to Object Oriented Programming (Nesne Yönelimli Programlamaya Giriş) kitabında sunulmuştur. Budds’a göre nesne yönelimli programlamada:

  1. Her şey bir nesnedir
  2. İletişim, nesnelerin birbiriyle –yine bir nesnenin isteğiyle- iletişim kurmasıyla gerçekleşir
  3. Nesnelerin hafızada, diğer nesnelerden oluşan kendilerine ait alanları vardır
  4. Her nesne bir sınıftan türemiştir. Bir sınıf temel olarak benzer nesnelerin kümelenmesinden oluşur, integer’ler ya da listeler gibi.
  5. Sınıf, bir nesneyle ilişkili davranışlar bütününü içerir. Bu, aynı sınıftan türemiş tüm nesneler aynı şekilde davranır demektir.
  6. Sınıflar, tek köke bağlı bir ağaç yapısında örgütlenirler. Buna kalıtımlı sıradüzeni (inheritence hierarchy) adı verilir. Bu ağaç yapısında, bir sınıfın türevinden sonra gelenler, bu türevle ilişkili hafıza ve davranışlara ulaşılabilirdir.

Görüldüğü gibi 1-5 arasındaki kurallar Kay’inkilerle oldukça örtüşürken altıncı madde farklılaşmış ve bugün ki anlayışımıza daha yaklaşmıştır.

Kaynak: javaturk.org, Akın Kaldıroğlu

Bu bir yazı dizisidir. Devamı için tıklayınız



Sizi Arayalım!
Sitemizi kullanarak çerezlere (cookie) izin vermektesiniz. Detaylı bilgi için Çerez Politika'mızı inceleyebilirsiniz.