Java Günlüğüm
Yazılım, Java, BT, azıcık felsefe, biraz mizah...
  • Udemy Eğitimleri
  • Temiz Kod
  • Tasarım Kalıpları
  • Hakkımda
  • Arşiv
RSS
19 Mayıs 2015

Java Dersleri Güncellendi

Akin Eğitim ve Seminer, Java, Java Dersleri

“Java Dersleri” sayfası altında yayınladığım “Java ile Nesne-Merkezli Programlamaya Giriş” eğitiminin sunumları güncellenmiştir. Toplam 9 konudan oluşan bu eğitimin PDF sunumlarına, örneklerine ve hatta bazı bölümlerin videolarına bu sayfadan ulaşabilirsiniz. Ayrıca 9 bölümün PDF sunumlarına tek bir zip dosyası olarak da bu sayfadan ulaşabilirsiniz.

Bu eğitimi benden canlı olarak almak isteyenler egitim@javaturk.org adresinden benimle irtibata geçebilirler.

Toplam görüntülenme sayısı: 3880

10 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
17 Mayıs 2015

“Java ile Nesne-Merkezli ve Fonksiyonel Programlama” Eğitiminin İlk Dersinin Videosu

Akin Eğitim ve Seminer ders, Eğitim, Java

“Java ile Nesne-Merkezli ve Fonksiyonel Programlama” eğitiminin ilk dersi yapıldı ve videosunu Youtube‘da paylaştım. İlk derse eğitimin genel bir tanımı ile başladık. Temel nesne yapılarıyla kalıtımın hızlıca özetlendiği ilk bölüm ile “Çok Şekillilik (Polymorphism)” konusunun ele alındığı 2. bölüme giriş yapıldı.

“Java ile Nesne-Merkezli ve Fonksiyonel Programlama” eğitimine katılmak isteyenler egitim@javaturk.org adresine email göndererek kayıt olabilirler.

İyi seyirler.

 

Toplam görüntülenme sayısı: 876

4 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
01 Mayıs 2015

“A a = new B()” Ne Demektir?

Akin Java

Sosyal ortamların birinde bir genç bana “birde hocam sizden rica etsem bu kalitim konusunda upcasting ve downcasting neden kullaniliyor.Bunun hakkinda yazi yazarmisiniz turkce kaynagi hic yok nerdeyse bu konunun” diye bir mesaj göndermişti. Ben daha çevap veremeden benzer bir isteği email ile de yaptı. Gönderdiği email şöyle:

“Hocam javada su olayi anlamadim

A a = new B()

burda nesne b sinifi turundedir vs diyorlar.Boyle olunca ne oluyorki ne degisiyor a. diyerek sadece b nin elemanlarinami ulasiyoruz yoksa hem A hem B mi bu olay kafami karistirdi bir aciklama getirirseniz cok memnun olacagim.

iyi gunler“

Ben de kendisine hızlıca bir cevap yazdım ve bu cevabı burada paylaşmak istiyorum.

Sevgili Ömer,

Belli ki “A a = new B()”yi öğrenirken ezbere gitmişsin, hatta daha öncesi de ezbere gitmiş ki bunu anlamakta zorlanıyorsun.

Şöyle örnek vereyim:

“A a = new B()” yerine sunu yazayım 

Calısan c1 = new Muhendis();

Bu su demektir, fabrikada calısan bir Muhendis’i al ona Calısan gibi davran. Belli ki Muhendis, Calısan tipinin bir alt tipi. Yani her Muhendis, bir Calısan’dır. 

Mesela Patron diye bir sınıf olsa ve uzerinde banaBirCalısanCagırın diye metot olsa, ona Muhendis gecebilirsin. Cunku her Muhendis bir Calısan‘dır. Yani

Patron sınıfında public void banaBirCalısanCagırın(Calısan c) metodunu soyle cağırabilirsin:

Muhendis m1 = new Muhendis(“Ahmet”);

parton.banaBirCalısanCagırın(m1);

Bu ne demek? Patronun cagrısına uyarak ona bir Muhendis gonderik. Patron itiraz edebilir mi? Edemez. Biz Muhendis yerine Sekreter de gönderebilirdik çünkü o da Calısan’dır. Yani

Sekreter s1 = new Sekreter(“Zeynep”);

patron.banaBirCalısanCagırın(s1);

gibi. Var mı problem buraya kadar?

Simdi eger Patron, çağırdıgı Calısan‘a “calıs” dese, yani banaBirCalısanCagırın() metodunun içi yani implementationu şöyle olsa:

public void banaBirCalısanCagırın(Calısan c) {

   c.calıs();

}

Sence “c.calıs()” nasıl davranır. Hangi nesne gecilirse o çalısmaz mı? Eger geçilen nesne Muhendis ise onun uzerindeki calıs() calısır, Sekreter ise Sekreter üzerindeki calıs() calısır.

Dolayısıyla A a = new B(); yazıp ta a.f()  çağrısında B’nin üzerindeki f() çalışmasının sebebi bu kadar basittir: Çünkü hayat böyledir ve aksini düşünemeyiz 🙂 İyi ki böyle, yoksa hayatta hiç kimse çalışmazdı 🙂

Bu durumu iyice kavrayıp kavramadığını ölçmek istersen şu soruya “bilemeyiz” cevabını verinceye kadar düşün:

Patron sınıfındaki “public void banaBirCalısanCagırın(Calısan c)” metoduna geçilen nesneyi eğer ben insan kaynaklarından alıp da geçersem, hangi Calısan nesnesinin calıs() metodu calısır?

Yani şu kodu yazarsam:

Ik ik = new IK();

Calısan c = ik.birCalısanGonder();

patron.banaBirCalısanCagırın(c);

Hangi calıs() metodu çalışır? CD1

Doğru cevap “yukarıdaki bilgiler ışığında bilemeyiz”dir.

Kolay gelsin.”

Yukarıdaki kurguyu daha iyi anlamak için yandaki kalıtım

yapısını gözümüzde canlandırmalıyız.

Toplam görüntülenme sayısı: 2406

15 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
01 Mayıs 2015

Algoritmalar ve Veri Yapıları

Akin Eğitim ve Seminer

Yaşar Safkan hocamın yaptığı Kod Kalitesi webinarında aniden gelişerek gündeme gelen  “Algoritmalar ve Veri Yapıları” eğitiminin detayları belli oldu. İlk dersi 6 Mayıs Çarşamba günü saat 20:00’da başlayacak olan eğitim iki haftada bir yapılacak. Eğitim detayları ve katılım bilgisi eğitiminsayfasında verilmiş durumda. Meraklılarını bekleriz 🙂

Toplam görüntülenme sayısı: 1580

5 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
«< 14 15 16 17 18 >»

Günlüğüme Hoşgeldiniz

Bu günlükte, Yazılım Mühendisliği, Bilgi Teknolojileri, Java, kişisel gelişim ve zaman zaman da diğer konulardaki düşüncelerimi sizlerle paylaşacağım. Umarım beğenir ve hoşça vakit geçirirsiniz.

Her türlü düşüncenizi, yorum olsun, beğeni ya da eleştiri olsun, bana iletmenizi rica ediyorum sizden. Ayrıca bana akin@javaturk.org adresinden ya da Twitter'dan ulaşabilirsiniz. Videolarıma da buradan ulaşabilirsiniz.

Teşekkür ederim.

Akın Kaldıroğlu

Rahat Okumak İçin

A Decrease font size. A Reset font size. A Increase font size.

Sosyal Medya

  • Twitter
  • Facebook
  • LinkedIn
  • Youtube

Son Twitlerim

→ Takip Etmek İçin

Abone Olun

Emalinizi girerek yazılardan haberdar olun.
Loading

Son Yazılarım

  • Udemy Eğitimlerim Üzerine
  • (başlıksız)
  • Clean Code / Temiz Kod Eğitimi Udemy’de
  • Java ile Nesne-Merkezli Programlamaya Giriş Eğitimi Udemy’de
  • Selsoft Video Eğitimleri
  • Spring ile Kurumsal Yazılım Geliştirme
  • Corona Günlerinde Design Patterns
  • Corona Günlerinde Java
  • JDK 10 ve “var” Özelliği
  • Onur Özcan
  • Analist ve İş Bilgisi
  • Farklı Dillerin Bakış Açısıyla Nesne-Merkezli Programlama
  • Java Nedir?
  • Bilgi Teknolojilerinde Yetenek Yönetimi – II: Tanımlar ve Eleştiriler – I
  • Alelade Hikayeler – II: Bir Başka Performans Problemi

Popüler Yazılar ve Sayfalar

  • Java’ya Nasıl Başlarım? Java’yı Nasıl Öğrenirim? – I
  • Nasıl Yazılımcı Olalım? – II: Hangi Bölümü Okuyalım?
  • Oracle’ın Java SE Sertifikaları: OCA, OCP ve OCM
  • Java Kurulumu ve İlk Programımız
  • İş Analisti İş Tanımı
  • Java Tutorial ya da Kendi Kendine Java Öğren
  • Nasıl Yazılımcı Olalım? – I: Üniversiteli mi Alaylı mı?
  • Tasarım Kalıpları
  • Java’ya Nasıl Başlarım? Java’yı Nasıl Öğrenirim?
  • UML Nedir?

Yazı Kategorileri

Yazı Takvimi

Haziran 2025
P S Ç P C C P
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« May    

Yazı Arşivi

Blogroll

  • Binnur Kurt'un Günlüğü
  • Ender'in Java Blogu
  • Erdem Seherler
  • Kızımın Günlüğü
  • Kurumsal Java
  • Levent Karagöl
  • Levent'in Java Blogu
  • Mert Can Akkan’s java tips,options, news…
  • Yaşar Safkan
  • Yasin Saygılı
  • Yazı Dünyası

Yazı Etiketleri

analiz Bilmek C Desen design pattern EJB Eğitim Fortran Hibernate Java Java'ya nasil baslarim Java dersleri Java EE Java Persistence API Java SE Java Sertifika Java Öğren Java öğreniyorum Java öğrenmek JPA Kalıp Kurumsal Java nesne nesne-merkezli No Silver Bullet object object-oriented Oracle Java Certifications pattern performans programlama programlama dilleri programlama nedir sertifika singleton tasarım tasarım deseni tasarım desenleri tasarım şablonu yazılım yazılım geliştirme Yazılım Mühendisliği yazılımın doğası yazılımın zorlukları Şablon

↑

© Java Günlüğüm 2025
Powered by WordPress • Themify WordPress Themes
 

Yorumlar Yükleniyor...