object array (nesne dizisi)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama konusu altında, sıklıkla geçen nesne dizilerini (object array) anlatmaktır. Kısaca bir dizinin elemanlarına nesne atamanın nasıl olacağı anlatılacaktır. Öncelikle nesne yönelimli programlama dillerinde, kullanılan nesne atıflarının (object referrer) birer gösterici (pointer) olduklarını bilmemiz gerekir. Örnek olarak bir sınıf tanımı ile başlayalım: class insan{ int […]

Devam

Observer Design Pattern (Gözlemci Tasarım Kalıbı)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama ortamlarında kullanılan bir tasarım kalıbı (design pattern) olan gözlemci tasarım kalıbını (observer design pattern) açıklamak ve kullanımına dair bir örnek vermektir. Nesne yönelimli olmayan programlama dillerinde (örneğin C) aynı yapı, geri çağırım (callback) ismi verilen yaklaşım ile yapılabilir. Konuya, klasik bir gözlemci tasarım kalıbını […]

Devam

Nesne Yönelimli Programlama Dersi Bütünleme İmtihanı Çözümü

Çözüm : Şadi Evren ŞEKER Çözüme geçmeden önce, sizlerle görüşme imkanımız olmadığı için bir iki noktayı buradan açıklama ihtiyacı hissettim. Öncelikle, bilinmelidir ki bu sınavda sorulan bütün sorular, derste anlatılan konular kapsamında hazırlanmıştır. Bazı sorulara çözüm olabilecek derste birden fazla yol gösterilmiştir, buradaki cevaplarda bir tanesini seçip (genelde en uzun ve karmaşık olanını vermeye çalışıyorum) […]

Devam

Java dilinde vektörler

Yazan : Şadi Evren ŞEKER Bu yazının amacı, Java dilindeki vektör sınıfının kullanılmasını ve yapısını anlatmaktır. Java dilindeki vektörlerin yapısından bahsederek başlayalım. Klasik veri yapısı olarak dizilerin (array) ve bağlı listelerin (linked list) özelliklerini birleştirmiştir. Bir vektör boyutu belli olmadan tanımlanıp içerisine veri konuldukça hafızada kapladığı yeri arttırmaktadır. Bu anlamda bağlı listelere benzer özellik göstermektedir. […]

Devam

JAVA da nihai uygulması (Final)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, java dilinde bulunan final kelimesini açıklamaktır. Temel olarak final kelimesi, java dilinde 3 farklı yerde bulunabilir: Sınıf tanımında Metot (fonksiyon) tanımında Değişken tanımında Sırasıyla bu durumları uygulamalar üzerinden görelim. public final class sonsınıf{ } yukarıdaki tanımın yapılması halinde, sınıf (class) nihai bir sınıf olur (final class) ve […]

Devam

JAVA dilinde çoklu kalıtım (miras)

Yazan : Şadi Evren ŞEKER Bu yazının amacı, JAVA programlama dilinde bir sınıfın, birden fazla sınıftan nasıl miras aldığını anlatmaktır. Temel olarak JAVA dilinde doğrudan çoklu kalıtım (multiple inheritance) bulunmaz. Yani aşağıdaki gibi bir kod hatalıdır: public class bilgisayar_mühendisliğ_öğrencisi extends sayısal_öğrenci, üniversite_öğrencisi{ } Yukarıdaki tanıma göre bir bilgisayar mühendisliği öğrencisi hem üniversite öğrencisidir hem de […]

Devam

Nesne Akışı (Casting)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde, sınıflar (class) arasında miras ilişkisi bulunması halinde (inheritance), bu sınıflardan türetilen nesnelerin birbirine akıtılması durumudur. Bu durumu aşağıdaki örnekler üzerinden anlamaya çalışalım: public class insan{ int boy; int kilo; } public class öğrenci extends insan{ int sınıf; String bölüm; } Örnek olarak verilen yukarıdaki iki sınıf […]

Devam

Nesne Kopyalama

Yazan : Şadi Evren ŞEKER Bu yazının amacı, nesne yönelimli programlama ortamlarında (object oriented programming) kullanılan iki temel kopyalama işlemini anlatmaktır. Literatürde bir nesnenin kopyalanması için geçen iki terim bulunur: Sığ kopyalama (shallow copying) Derin kopyalama (deep copying) Sığ kopyalama basitçe bir nesnenin referansını gösteren nesne atfının, farklı bir nesne atfına atanmasıdır. Örneğin aşağıdaki kodu […]

Devam

Nesne Yönelimli Programlama Dersi Quiz Çözümü

Yazan : Şadi Evren ŞEKER Quiz soruları ve çözümleri aşağıdaki şekildedir: Bir oylama için program yazmanız isteniyor. Oylamaya katılan 5 aday bulunuyor ve bu adayların numarası (1’den 5’e kadar bir sayı) oy pusulasına yazılarak oy kullanılıyor. Programınızda 10 adet oyu okuyup ekrana adayların aldıkları oy miktarını basan bir program yazınız. Kullanılan oyun 1-5 arasında olmaması […]

Devam

C++ dilinde üzerine bindirme

Yazan : Şadi Evren ŞEKER Bu yazının amacı, C++ dili için fonksiyon üzerine bindirme (function overriding veya method overriding) konusunu açıklamaktır. Üzerine bindirme işlemi, basitçe aralarında miras (inheritance) ilişkisi bulunan iki sınıf için kullanılabilir. C++ dilindeki, nesneler arasında kurulan bu ilişki modeli hakkında daha detaylı bilgi için, bu bağlantıya tıklayabilirsiniz. Öncelikle iki sınıf tanımlayıp bu […]

Devam