Java da Nesne Yönelimli Tasarım Kavramları
Merhaba arkadaşlar bu yazımızda java üzerinde nesne yönelimli tasarım kavramlarından bahsedip, bu kavramları içeren bir örnek uygulama yapacağız.
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.
Kodları burada paylaşıyorum, ayrıca sayfanın altındaki linkten indirebilirsiniz.
OdemeSistemi:
Musteri:
Masa:
Menu:
Icecek:
Yiyecek:
main:
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: Java Pass by Value – Pass by Reference ve İstisnalar
Sonraki: Java – Regular Expressions (Düzenli İfadeler) >>>
Yorum Bırakın!