Nesne Yönelimli Programlama #03 | Java Yapıcıları ve Başlangıç Durumu

Constructor Kavramı ve Class Tasarımı

Eğitmen: Dr. Süleyman Burak ÇELİK

Geçen derste sınıf tanımından iki ayrı okuma oturumu oluşturduk ve çağrıların hangi nesneye gittiğini izledik. Bugün o nesnelerin ilk değerlerini nereden aldığını soruyoruz. Ekranda iki oluşturma yolu açılıyor. Birinde parantezler boş; ötekinde iki sayı var. Sınıf aynı olduğuna göre başlangıç da zorunlu olarak aynı mıdır? Bu soruyu çalışma tepsisi adını verdiğimiz özgün bir yazılım örneği üzerinden çözeceğiz. Özgün StudyTray örneğinde argümansız ve iki parametreli yapıcıların farklı başlangıç alanlarını izliyoruz. Yapıcı bildirimini sıradan metottan, açık argümansız yapıcıyı örtük varsayılan yapıcıdan ayırıyoruz. Alanları 6/0 ve 8/2 olan iki ayrı nesne aynı sorgu sonucu 6 değerini döndürür; sorgu alanları değiştirmez. Gerçek Java 11 derleme varyantları ile TypeScript modeli bağımsız Python hesaplamalarıyla kontrol edilmiştir. Bu derste: 1. Yapıcı bildiriminin biçimi 2. A nesnesinin başlangıcı 3. B nesnesine iki veri taşımak 4. Eşit sonuç, farklı durum 5. Hangi yapıcı seçiliyor? 6. Parametreli yapıcı yazınca ne değişir? 7. Açık argümansız yapıcı eklemek 8. Hiç yapıcı bildirilmezse 9. void yazılırsa sıradan metot olur 10. Varsayılan yapıcı her zaman public değil Bölümler: 0:00 Aynı sınıf, farklı başlangıç 1:18 Yapıcı bildiriminin biçimi 2:34 A nesnesinin başlangıcı 3:52 B nesnesine iki veri taşımak 5:08 Eşit sonuç, farklı durum 6:23 Hangi yapıcı seçiliyor? 7:42 Parametreli yapıcı yazınca ne değişir? 9:04 Açık argümansız yapıcı eklemek 10:25 Hiç yapıcı bildirilmezse 11:46 void yazılırsa sıradan metot olur 13:09 Varsayılan yapıcı her zaman public değil 14:31 Seçim, başlangıç ve sorguyu ayırmak Kaynak kitap: Y. Daniel Liang, Introduction to Java Programming, Comprehensive 10th Edition; §9.4. Basılı329 / fizikselPDF352; ölçülen+23; JavaSE11 JLS8.8 çapraz kontrol. Kavram ve konu sırası kaynak kitaptan izlenir; anlatım, çizimler ve çalışan çalışma tepsisi örneği özgündür. A/B harfleri çizim etiketleridir; Java nesne kimliğini uygulayan özel alanlar değildir. Hedef ve tamamlanan birim sayısı öğretim modelinin alanlarıdır; başarı veya işletim garantisi değildir. Normal üst seviye sınıflarda örtük yapıcının erişimi sınıf erişimiyle ilişkilidir; her zaman public değildir. Dış paketteki erişim reddi sınıf erişimini de içerir. Dil kuralları Java SE 11 JLS 8.8, 8.8.8 ve 8.8.9 ile çapraz kontrol edilmiştir. Bu ders Java örneği kullanır; C# diline özgü erişim ve olay özellikleriyle eş tutulmaz. Kaynak kitap kullanıcı tarafından temin edildi. Hedef kitle: bilgisayar mühendisliği ve yazılım öğrencileri.