Tag: temel java

İstisna Yönetimi

Hatalar programlarımızın akışını kesen durumlardır. Bu durum bazen bilinçli, bazen de bilinçsiz şekilde karşılaşılabilen bir olgudur. Haliyle her ihtimal düşünülerek bunları yönetmek isteriz. Javada da bu yönetim için geliştirilmiş bir yaklaşım bulunmaktadır. 17 – Exceptions isimli projemizde bu konuyla ilgili örnekleri barındıracağız. Hatalar genel olarak olması beklenen bir durumun, farklı veya istenmeyen bir şekilde vuku […]

Inner Sınıflar

Inner sınıflar, önceki konularımızdan static yapılar içerisinde sözü geçmiş, fakat detayına değinmediğimiz yapılardandır. İsminden de çıkarım yapılabileceği gibi, inner sınıflar, sınıf içerisine yazılmış sınıflardır. 16 – Inner Classes isimli projemizle bu konuya değineceğiz. Erişim düzenleyiciler konusundan bildiğimiz üzere javada methodlara veya sınıflara farklı erişim seviyeleri tanımlamak mümkündür. Ancak br sınıf private olarak tanımlanamaz. Zaten private […]

Instanceof Sözcüğü

Instanceof sözcüğü javada iki tipi karşılaştırıp geriye true veya false değeri dönen bir anahtar sözcüktür. Konsept olarak bu operatör is-a ile oluşturulmuş soru cümlesinin cevabını verir. Solundaki nesnenin sağındaki yapının bir örneği olup olmadığını döner. (Is {sol taraf} a {sağ taraf}? – {sol taraf} bir {sağ taraf} mıdır?) 15 – Instanceof isimli projemiz içerisinde bu […]

Final Yapılar

Javadaki bir başka anahtar sözcük olan final, tıpkı static sözcüğü gibi, bir sınıfla, methodla, değişkenle veya bir field ile kullanabilen bir sözcüktür. Bu anahtar sözcük kullanılarak yapılan bir tanım sonradan değiştirilemez. Yani o tanım artık finalize edilmiş bir tanımdır. Buradaki “tanım” sözcüğü kapsamı geniş şekilde kullanılmıştır. Zira değişken, method ve sınıflarda tanımın finalize olması konuşma […]

Static Yapılar

Static anahtar sözcüğü javada bir sınıfla, methodla, değişkenle veya blokla kullanılabilmektedir. Static üyeler sınıftan yaratılmış bir instance yerine, o sınıfın kendisine ait yapılardır. Diğer bir ifade ile, static üyeleri kullanmak için o sınıftan bir instance yaratmaya ihtiyaç yoktur. Bu da static üyelerin, o sınıfa ait bütün instancelarda değerinin veya işleyişinin aynı kalması anlamına gelmektedir. Static […]

Abstract Yapılar

Soyutlama (Abstraction) kavramı, fiziki yapılardan ziyade fikirlerle uğraşmaktır. Interface yazımızla bu kavrama giriş yapmış ve çok biçimlilikten söz ederek nesneye yönelik programlamanın iyi öğrenilebilmesi için özel olarak nelere dikkat etmemiz gerektiğine de değinmiştik. Soyutlamada interfaceler ile birlikte bize yardımcı olan abstract yapılar bu yazımızın konusu olacak. Bu yazımızda 12 – Abstraction isimli bir proje yaratıp […]

Interface (Arayüz)

Javada soyutlama eylemini gerçekleştirmek için kullanılabilecek en güçlü gereçlerden bir tanesi interface ismindeki yapılardır. Interfaceler, yani arayüzler, bir anlamda şemalardır. Binalardan oluşmuş bir site düşünün. Bu sitede farklı tipte daireler ve farklı tipte binalar olsun. Varsayalım ki x sayıda daire tipi ve y sayıda bina tipi mevcut olsun. Bir inşaat işinde, tahmin edersiniz ki, bu […]

Overload ve Override

Bu yazımızda overlad ve override kavramlarına değineceğiz. Bu kavramlar varolan methodların çalışma şeklini değiştirmek veya methodun alternatif şekillerde çalışabilmesini sağlamak üzere kullanılmaktadır. Overload Bunun için bir fabrika örneği üzerinden ilerleyelim. Varsayalım ki bu fabrikada bir üretim hattımız olsun. Hattın üzerinde ise montaj yapan bir robot platformu olsun. Fabrikamızın ilk kuruluşunda montaj hattına belirli nitelikleri olan […]

Paket Yapıları

Javada, paketler, bir grup alakalı veya benzer sınıfları gruplamak için kullanılan yapılardır. Bunları tıpkı dizinler (klasör, folder) gibi düşünebilirsiniz. Aslında dizinlerden öte bir kabiliyete sahiptirler. Daha evvel erişim düzenleyiciler başlığında bahsettiğimiz bu kabiliyeti, bu yazımızda detaylandıracağız. Paketler, ayrıca, benzer isimli ancak farklı görevleri yürüten elemanların da birbirinden ayrılmasını sağlar. Bu noktada paketlerin temel fonksiyonunun, çok […]

Miras Kavramı – II (Inheritance)

Bir önceki yazımız ile javada miras kavramına giriş yapmıştık. Bu yazımızla bu konuya devam edeceğiz. Önceki yazımızda bulunan diagramı tekrar hatırlayalım ve bu diagram üzerinden örneklerimizi genişletmeye devam edelim. Bundan önce, bu diyagramın sol tarafını (Yukarıdan aşağıya doğru bunu özetlersek; Vehicle, Car ve Ferrari sınıflarını) kodlamıştık. Bununla birlikte Williams, F2004 ve FW26 sınıflarını da kodlayarak […]

Next Page »