Nesne Yönelimli Programlama
Sınıf, nesne ve aralarındaki sözleşmeler
Kapsülleme, kalıtım, kompozisyon, polimorfizm, interface ve abstract class. Java'nın bu araçları nasıl çalıştırdığını ve hangisinin ne zaman sorun çıkardığını adım adım görürsün.
10 ders 83 dk toplam süre Sertifikan
Bu konunun dersleri şu çalışma yollarında: Adım Adım Backend (10)
Başlangıç
- 1/3 yıldız2/3 yıldız3/3 yıldız Sınıf, Nesne ve Kapsülleme — Kuralı Kim Koruyor? Kapsülleme alanları private yapmak değil, nesnenin kurallarını yalnızca kendi metotlarıyla değiştirilebilir kılmaktır. Kural genelde iki arka kapıdan kaçar: iç listeyi veren getter ve dışarıdaki listeyi saklayan constructor. 8 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız Constructor ve this — Nesne Nasıl Doğar? Constructor bir nesnenin doğum anıdır: alanları doldurur ve kuralı en baştan kontrol eder. this nesnenin kendisini gösterir; this(...) başka bir kurucuyu, super(...) ise üst sınıfın kurucusunu çağırır. 8 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız Erişim Belirleyiciler — Kim Hangi Kapıdan Girer? private, paket içi, protected ve public, bir sınıfın parçalarına kimin ulaşabileceğini belirler. En dar kapıdan başlarsın; açtığın her kapı başkalarına verdiğin bir sözdür. 8 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız Object Sınıfı — Her Nesnenin Ortak Mirası Java'daki her sınıf Object'ten türer ve ondan toString, equals ve hashCode'u miras alır. toString nesneyi tanıtır, equals iki nesnenin eşitliğine karar verir; equals'ı yazdıysan hashCode'u da yazarsın. 8 dk
Orta
- 1/3 yıldız2/3 yıldız3/3 yıldız Kalıtım ve Kompozisyon — Kimin İç Ayrıntısına Bağlısın? extends ile bir sınıfın sadece yüzünü değil, iç işleyişini de miras alırsın; o iç işleyiş değişince senin sınıfın da bozulur. Gerçekten 'bir türü' değilsen, nesneyi içine koy ve işi ona yaptır. 8 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız Polimorfizm ve Dinamik Bağlama — Kararı Kim Veriyor? Aynı çağrı nesneye göre farklı iş yapabilir; buna polimorfizm denir. Ama her karar çalışırken verilmez: aşırı yükleme, static metotlar ve alanlar derlerken sabitlenir. İkisini karıştırmak sessiz hatalar doğurur. 8 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız Interface ve Abstract Class — Rol mü, İskelet mi? Interface bir roldür: bir sınıf aynı anda birkaç rol üstlenebilir. Abstract class ise ortak iskelet ve veri verir, ama bir sınıf yalnızca bir tanesinden türeyebilir. Emin değilsen interface ile başla. 8 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız Değişmez Sınıf Tasarlamak — Bir Kez Kur, Hep Güven Değişmez bir nesne kurulduktan sonra hiç değişmez; değişiklik yeni bir nesne üretir. Tarifi kısadır: final sınıf, private final alanlar, setter yok, değişebilen girdilerin kopyası. Karşılığında güvenle paylaşılır. 9 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız İç İçe Sınıflar — static, Inner, Anonim ve Yerel ✦ yeni Bir sınıfın içine sınıf yazmanın dört yolu var. static iç içe sınıf bağımsızdır; inner sınıf onu kuran nesneye gizli bir ip ile bağlıdır. O ip, uzun yaşayan bir yerde tutulursa dış nesneyi de bırakmaz. 9 dk
- 1/3 yıldız2/3 yıldız3/3 yıldız Soyutlama ve Dört Sütun — Hangi Değişikliğe Hangisi Yardım Eder? ✦ yeni Kapsülleme, soyutlama, kalıtım ve polimorfizm dört ayrı ezber değil, dört ayrı değişikliğe karşı sigorta. Bu ders eksik kalan soyutlamayı tanıtıyor ve dördünü tek bir banka kodunda yan yana koyuyor. 9 dk