oop arşivleri - Yazılımcının Günlüğü" Etiketli Yazılar

Java – Object Oriented Kavramı IV

Yazılım Tasarım Prensipleri özellikle büyük projelerde gerçekten önem arz ediyor. Proje boyunca en çok üzerinde durulması ve düşünülmesi gereken noktanın burası olduğunu yaşayarak anlamış bulunuyorum. Yazılım tasarımı derken kastettiğimiz ekranların tasarımı gibi birşey değil. Class hiyerarşisi, db yapısı, kullanılacak frameworkler ve bunların entegrasyonu, kullanılacak tasarım şablonları (design patterns) ve bunların uyumu gibi konuları kapsayan bir tasarımdan bahsediyorum. Burada dikkat edilecek pek çok nokta var. Ancak en temel ve objektif olanları yazılım tasarım prensipleri ismini haketmiş ve burada onlardan bahsedeceğiz.

Bu prensipleri üstad Robert Martin’in “Agile Software Development: Principles, Patterns, and Practices” isimli kitabında bulabilirsiniz. Bu fikirlerin ilk olarak toplandığı kitaptır ve çok değerlidir. Bu kitaba göre yazılımınızı tasarlarken 3 şeyden kaçının;

Java – Object Oriented Kavramı II

Object Oriented Programlama mantığından bahsetmeye başlamıştım, fakat bunun bir yazıda halledilemeyeceğini anlayınca yarıda bırakmıştım. Bu yazıda devam ediyorum. Bir önceki yazıya Java – Object Oriented Kavramı I linkinden ulaşabilirsiniz. Object, class, inheritance, interface kavramlarını kısaca anlattıktan sonra, bir class’dan object oluşturma sırasında gerçekleşen işlemleri yani decleration, instantiation ve initialization işlemlerini anlatmıştım. Bu yazımda kaldığımız yerden devam ederek, static keyword’ünden, final keyword’ünden, methodlardan, overloading kavramından, access modifier‘lardan bahsetmeyi düşünüyorum. Çok uzatmadan başlayalım ve mümkün olduğunca kısa yazarak sıkmamaya çalışalım 🙂

Static:

Burada static‘den bahsetmeden önce bir önceki yazıda anlattığım instantiation işlemi yani class’dan object üretilmesi işlemini hatırlayalım. Bunun için referans tutan bir değişken ile hafıza alanı açıyor ve o alana constructor ile değerleri atıyorduk.

Java – Object Oriented Kavramı I

Daha önce bir object oriented programlama (OOP) dili kullanmadıysanız muhtemelen Java ile ilgili yazacağım yazılarda zorlanacaksınız. Ben her ne kadar bilindiğini varsayacağımı söylesem de bazı temel kavramlara değinmem gerektiğini düşündüm. Çünkü OOP kullanılsa bile bazı kavramlar bilinmiyor, ezbere kullanılıyor. Object, class, inheritance, interface, encapsulation… gibi terimlerin ne anlama geldiğinden bahsederken bu kavramları gerçek hayattan örneklerle ilişkilendirerek iyi anlaşılmasını sağlamayı amaçlıyorum. Örnekler de tabiki Java syntax ‘ı kullanılarak verilecek. Terimleri anlatırken Türkçe’ye çevirmemeyi tercih ediyorum. Çünkü o zaman karışabiliyor, en iyisi orjinal haliyle öğrenmek.

Object:

OOP mantığını anlamanın temeli Object kavramını anlamaktan geçiyor…

Java Programlama Diline Giriş

Java programlama dili diyerek eksik bir tabir kullanmış olabilirim. Çünkü Java sadece bir programlama dili değil aynı zamanda bir platformdur. Bu yüzden Java Teknolojisi şeklinde hitap etmek daha doğru olur. “Bu da ne demek” derseniz şöyle anlatırım; Siz java kodunuzu herhangi bir text editör ile .java uzantılı dosyalara yazarsınız. Daha sonra derleyiciniz ile (Java için javac) compile işlemini gerçekleştirirsiniz ve .class uzantılı bir dosya oluşur. Bu dosyanın içerisinde Java Virtual Machine denen sanal cihazın anlayabileceği makine kodları (bytecode) bulunmaktadır. Daha sonra java launcher bu dosyayı Java Virtual Machine üzerinde çalıştırır.

Gördüğünüz gibi Java ‘nın çalıştığınız sistemle pek ilişki yoktur.