Java da Nesne Yönelimli Tasarım Kavramları

Kısaca terimlerden bahsetmek gerekirse,

Inheritence: Yani kalıtım, nesne yönelimli programlamanın temelidir denebilir. Bir class’ın içerisinde barındırdığı özelliklerini, kendisini kalıtım yoluyla extend eden class’a aktarmasıdır.

Abstract Method: Bir class ta bulunan abstract olarak belirtilmiş methodun içeriğinin, bu class’ı extend eden class tarafından implement edilecek olmasıdır.

Abstract Class: Bu class’ı kullanabilmek için mutlaka başka bir class tarafından extend edilmesi gerekmektedir.

Composition: Bir class’ın başka bir class içerisinde attribute  olarak bulunmasıdır.

Polymorphism: Çok biçimlilik anlamına gelmektedir. Bir metodun override edilmesi veya  overload edilmesi ile oluşan yapılara denir.

Inteface: Kendisini extend edecek class’a hangi metodları implement edeceğini belirten ve bu yolda zorlayan yapıdır.

Şimi bu kavramları örnek üzerinde inceleyelim. Yapacağımız uygulama sipariş sistemi olacak.

Kullanacağımız ana class’larımız: Müsteri, Masa, Menu dur. Ayrıca, OdemeSistemi adında Interface, Icecek ve Yiyecek adında alt class’lar bulunmaktadır.

Öncelikle Müsteri class’ımız OdemeSıstemi Interface’ini implement edecek ve bu sayede OdemeSistemi’nde bulunan metodlar zoraki olarak Musteri içerisinde implement edilecek. Masa class’ımızın içinde Musteri attribute’u bulunacak. Ayrıca Menu class’ından Icecek ve Yiyecek class’ları extend edilecek.

Kısaca yapılardan bahsedip uygulamayı paylaşalım.

Musteri class’ı OdemeSistemi interface’ini implement etmektedir. Masa class’ının içinde Musteri class’ı bulunması bir composition dur. Menu class’ından Icecek ve Yiyecek extend edilmesi inheritence’e örnektir. Ayırca Menu class’ı abstract’tır.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s