MAPPING RELATIONSHIPS IN JAVA: MODELING IS-A RELATIONSHIPS USING INHERITANCE EĞİTİMİ

Kalıtımı doğru yerde ve doğru kullanın

extends ve super zinciri, soyut sınıflar, polimorfizm, pattern matching, sealed sınıflar, LSP ve kompozisyon alternatifi.

Java'da kalıtımla is-a ilişkisi kurmayı öğrenin: super zinciri, soyut sınıflar, çok biçimlilik, sealed sınıflar, LSP ve kompozisyon ile çalışan hiyerarşisi uygulaması.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

is-a ilişkilerini kalıtım ile modellemek

Eğitim, Java'da is-a ilişkilerinin kalıtımla modellenmesini ve tuzaklarını işler. extends, Object sınıfı, super(...) ile constructor zinciri ve başlatma sırası, soyut sınıf ve şablon metot deseni, upcast/downcast ile instanceof pattern matching, sealed sınıflar uygulanır. Liskov Yerine Geçme İlkesi, kırılgan üst sınıf problemi ve composition over inheritance yaklaşımı örneklerle tartışılır. Çalışan hiyerarşisi uygulaması JUnit ile test edilir.

Süre ve Format

2 Gün. Her gün dört modül; Kalıtım Mekaniği; Tasarım Kararları ve Uygulama ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Java'da kalıtım ile is-a ilişkisi modelleme: extends, super, soyut sınıf, çok biçimlilik, sealed sınıflar ve kompozisyon.

Öğrenme Metodu

Bir çalışan/ödeme hiyerarşisi eğitim boyunca büyütülür; her adımda tasarım kararı, test ve refaktör birlikte yapılır.

Neden Bu Eğitim?

🧬Doğru Hiyerarşi

Kalıtımın uygun olduğu yerleri LSP ile sınayarak seçersiniz.

🔀Çok Biçimli Kod

if-else zincirlerini polimorfizmle sadeleştirirsiniz.

⚖️Kompozisyon Dengesi

Kalıtıma alternatif delegasyon yaklaşımını bilerek tercih edersiniz.

Anahtar Konular

java kalıtımjava inheritancejava extends superjava soyut sınıfjava polimorfizmjava sealed classliskov substitutioncomposition over inheritancejava is-a has-ajava nesne yönelimli tasarım
“Kalıtım güçlü bir araçtır; fakat her ilişki is-a değildir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java Sınıfları

Sınıf, constructor ve erişim belirleyici bilgisi gerekir.

2
JDK 17+

Sealed ve pattern matching örnekleri için JDK 17+ kurulu olmalıdır.

3
IDE

IntelliJ IDEA gibi bir IDE ve Maven bilgisi faydalıdır.

4
UML Okuryazarlığı

Sınıf diyagramı okuyabilmek yararlıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı kalıtım mekaniğini, constructor zincirini ve çok biçimliliği doğru uygular.
Modül 1
extends ve Kalıtım Temelleri
  • extends ile alt sınıf tanımı ve üyelerin devralınması
  • Java'da tekli sınıf kalıtımı ve nedenleri
  • Object sınıfı ve her sınıfın ortak atası
  • is-a ilişkisi ile has-a ilişkisinin ayrımı
  • protected üyeler ve alt sınıfa açılan yüzey
  • Kalıtım hiyerarşisini UML ile çizme
Modül 2
super ve Constructor Zinciri
  • Alt sınıf constructor'ında super(...) çağrısı zorunluluğu
  • Üst sınıfta varsayılan constructor yoksa derleme hatası
  • Nesne yaratılırken üstten alta başlatma sırası
  • super ile üst sınıf metoduna erişim
  • Constructor içinde overridable metot çağırma tehlikesi
  • Çok seviyeli hiyerarşide başlatma izleme
Modül 3
Soyut Sınıflar
  • abstract sınıf ve abstract metot tanımı
  • Soyut sınıfın örneklenememesi
  • Ortak kodu üst sınıfa, farkı alt sınıfa taşıma
  • Şablon metot deseni ile algoritma iskeleti
  • Soyut sınıf mı interface mi karar kriterleri
  • Payment, Shape ve Employee hiyerarşileri örnekleri
Modül 4
Çok Biçimlilik ve Tip Dönüşümü
  • Üst sınıf referansıyla alt sınıf nesnesi tutma (upcasting)
  • Downcast ve ClassCastException
  • instanceof ve Java 16+ pattern matching
  • Çok biçimli koleksiyon: List<Shape>
  • Çok biçimlilik ile if-else zincirlerini kaldırma
  • sealed sınıflar ile kapalı hiyerarşi
Günün hedefiKatılımcı kalıtım tasarım kararlarını LSP ile değerlendirir ve çalışan hiyerarşisini tamamlar.
Modül 1
Kompozisyon ve Kalıtım Karşılaştırması
  • Composition over inheritance ilkesi
  • Kırılgan üst sınıf (fragile base class) problemi
  • Delegasyon ile davranış yeniden kullanımı
  • Liskov Yerine Geçme İlkesi (LSP) ihlalleri
  • Kare-Dikdörtgen klasik LSP örneği
  • final sınıf ve kalıtıma kapatma kararları
Modül 2
Object Sınıfı Metotları
  • equals ve hashCode'un kalıtımda doğru yazımı
  • toString zincirleme ve super.toString()
  • getClass ve instanceof farkı
  • clone ve kopya yapıcı alternatifi
  • finalize'ın kaldırılması ve Cleaner
  • Kalıtımda equals simetri ihlalleri
Modül 3
Uygulama: Çalışan Hiyerarşisi
  • Employee, Manager ve Developer sınıflarının tasarımı
  • Maaş hesaplamasında çok biçimlilik
  • Soyut calculatePay ve alt sınıf uygulamaları
  • Hiyerarşi için JUnit testleri
  • Yeni çalışan tipi ekleyerek açık-kapalı ilkesini sınama
  • Kod incelemesi ve kalıtım derinliği sadeleştirme
Modül 4
Kalıtım Tuzakları
  • Derin hiyerarşilerin bakım maliyeti
  • Alt sınıfın üst sınıf iç yapısına bağımlılığı
  • Statik tip ve dinamik tip karışıklığı
  • protected alanları public gibi kullanma sorunu
  • Soyutlamanın erken yapılması (premature abstraction)
  • Refaktör: Replace Inheritance with Delegation

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
extends Kullanımı

Alt sınıf tanımlayıp üyelerin devralınmasını yönetebilirsiniz.

🧩
Constructor Zinciri

super(...) ile doğru başlatma sırasını kurabilirsiniz.

⚙
Soyut Sınıf

Şablon metot deseniyle soyut sınıf tasarlayabilirsiniz.

️
Polimorfizm

Çok biçimli koleksiyonlarla koşul zincirlerini kaldırabilirsiniz.

🔍
Pattern Matching

instanceof pattern matching ile güvenli tip dönüşümü yapabilirsiniz.

🛠
Sealed Sınıflar

Kapalı hiyerarşileri sealed ile modelleyebilirsiniz.

️
LSP Değerlendirmesi

Kalıtım ihlallerini Liskov ilkesiyle tespit edebilirsiniz.

🧪
Kompozisyon

Kalıtımı delegasyona çevirerek refaktör yapabilirsiniz.

Kimler İçin Uygundur?

  • Java sınıf temellerini bilen
  • nesne yönelimli tasarım becerisini ilerletmek isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java sınıf temellerini bilen ve nesne yönelimli tasarım becerisini ilerletmek isteyen geliştiriciler için uygundur.
Kalıtım mı kompozisyon mu kullanmalıyım?
Yerine geçme (is-a) gerçekten doğruysa kalıtım, yalnızca kod paylaşımı gerekiyorsa kompozisyon tercih edilir; eğitimde karar kriterleri örneklenir.
sealed sınıflar hangi Java sürümünden itibaren kullanılır?
Java 17'de kalıcı özellik olarak gelmiştir; eğitim JDK 17+ ile yürütülür.
Soyut sınıf ile interface farkı işleniyor mu?
Evet, durum taşıma, çoklu uygulama ve default metotlar üzerinden karar kriterleriyle işlenir.
Eğitim sonunda sertifika verilir mi?
Katılım ve değerlendirme sonrasında Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Mapping Relationships in Java: Modeling Is-a Relationships U Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMJava SE Programmer II: Generics & Collections in Java Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Generics & Collections in Java Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Java SE Programmer II generics ve Collections eğitimi: wildcard PECS, type erasure, HashMap iç yapısı, Comparator ve koleksiyon seçimi. 2 gün uygulamalı, DVA se

Detayları Gör →
Java ve JVMJava SE Programmer II: Implementing NIO Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Implementing NIO Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Java SE Programmer II NIO eğitimi: ByteBuffer, FileChannel, memory-mapped dosya, Selector ile non-blocking soket ve asenkron kanallar. 2 gün uygulamalı, DVA ser

Detayları Gör →
Java ve JVMJava SE Programmer II: Java Migration & Service Management Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Java Migration & Service Management Eğitimi

2 günİleriOnline / Yüz Yüze / Hibrit

Java SE Programmer II Java geçişi ve servis yönetimi eğitimi: Java 8 den 17 ye taşıma, jdeps, ServiceLoader, SPI ve çok sürümlü JAR. 2 gün uygulamalı, DVA serti

Detayları Gör →
Java ve JVMJava SE Programmer II: Lambda Operations & Streams Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Lambda Operations & Streams Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java SE Programmer II lambda ve Stream eğitimi: filter, map, flatMap, Collectors, groupingBy, reduce ve paralel akış. 2 gün uygulamalı, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE Programmer II: Localization in Java Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE Programmer II: Localization in Java Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Java SE Programmer II yerelleştirme eğitimi: Locale, ResourceBundle, MessageFormat, NumberFormat, Collator ve çok dilli uygulama. 2 gün uygulamalı, DVA sertifik

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn