1 / 20

Önceki Dersi Hatırlama !!

Önceki Dersi Hatırlama !!. Nesne Tabanlı Programlamaya (NTP) ait 3 ana konu Kapsüllenme Miras Polimorfizm Nesne Tabanlı Programlama da geçen ders öğrendiğimiz bazı terimler Sınıf Obje Bir sınıfı oluşturan yapılar Üye Sınıf örneği Gizlilik (kapsüllenme) Mesaj Alıcı Miras

livia
Download Presentation

Önceki Dersi Hatırlama !!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Önceki Dersi Hatırlama !! • Nesne Tabanlı Programlamaya (NTP) ait 3 ana konu • Kapsüllenme • Miras • Polimorfizm • Nesne Tabanlı Programlama da geçen ders öğrendiğimiz bazı terimler • Sınıf • Obje • Bir sınıfı oluşturan yapılar • Üye • Sınıf örneği • Gizlilik (kapsüllenme) • Mesaj • Alıcı • Miras • Hiyerarşi çeşidi • Polimorfizm • Geç bağlanma (late binding)

  2. Giriş • Bu bölümde • Objeleri (nesneleri) nasıl oluşturacağız • Ve onları nasıl kullanacağımızı öğreneceğiz.

  3. Sınıf Temelleri • Sınıf içinde tanımlanan metot ve değişkenlere, sınıfın üyeleri denir. • Java sınıfları bir main() metoduna sahip olmak zorunda değildir. • Eğer o sınıf programın başlangıcı ise o zaman bir tane main metodu tanımlanır. • Appletlerde ise main metoduna ihtiyaç duyulmaz.

  4. Basit Sınıf class Kutu { double en; double boy; double yukseklik; } Kutu sandik = new Kutu(); • Kutu sandik  nesnenin referansını bildirir. • sandik= new Kutu()  bir kutu nesnesi oluşturulur.

  5. New Komutu • New komutu: Bellekte bir nesne için dinamik olarak yer ayırır. • Run-time zamanında olur. • Basit tipler için nesne oluşturulmaz.Böylece bu tipteki değişkenler daha verimli çalışırlar.

  6. publicclass port { publicstaticvoid main(String[] args) { Sablon nesne=newSablon(); nesne.metod(); } } // ana class classSablon { publicvoid metod() { System.out.print("işte nesne tabanlı program"); } }//diğer class

  7. portvesablon adında iki sınıfımız var. • port.java,portsınıfını gösteriyor. • sablon.java,sablonsınıfını gösteriyor. • publictanıtılmış sınıflar mutlaka ayrı dosyalarda tanıtılmalıdır.aynı dosyada 1 tane puplic olur • sablonsınıfı kendi başına çalıştırılamaz. • mainmetodu yok • main metodunu içeren sınıf olanportsınıfı, sablonobjesini oluşturur ve kullanır.

  8. Her Java sınıfıbaşka bir sınıfı miras alır. • portsınıfıjava.lang.Object sınıfını miras alır (extend). • Eğer bir sınıf tanımında extend sözcüğü yoksa o sınıf • Kesinlikle Object sınıfını miras almıştır. • Object Sınıfı • Metotları • Object clone() • boolean equals(Object nesne) • void finalize() • String toString() • Class getClas() • int hashCode() • void notify() • ....

  9. Sınıf yapılandırıcısı (constructor) • Sınıf ismi ile aynı adı taşır. • Sınıfa ait değişkenlerin ilk değerlerini verir. • O sınıfa ait bir obje oluşturulacağı zaman otomatik olarak yapılandırıcı çağrılır. • Özel tip bir metottur • Parametre alabilir ama geriye değer döndürmez. • Bir sınıf birden fazla yapılandırıcıya sahip olabilir.(overloading sayesinde)

  10. Sınıf yapılandırıcısı (constructor) • Eğer uygulamamıza herhangi bir yapılandırıcı koymazsakJava buişlemi kendi otomatik olarak yapmaktadır. • Varsayılan yapılandırcılar (parametresiz yapılandırcılar,default constructor veya “no-args” constructor) içi boş biryordam olarak düşünülebilir • Eğer kendimiz yapılandırıcı yazarsak, Java bizdenvarsıyılan yapılandırıcı desteğini çekecektir. • Kendimize ait özel yapılandırıcılar tanımlarsak Java’ya "Ben ne yaptığımı biliyorum, lütfen karışma" demiş oluruz.

  11. Aşırı Yüklenmiş (Overloaded)Yapılandırıcılar Kullanmak • Aşırı Yüklenmiş Yapılandırıcılar • Aynı ismi alan metodlar (aynı sınıfın içinde) • Parametre listeleri farklı olmak zorunda

  12. statik metodlar • Statik metodlar hatırlayın class adını yazdıktan sonra nokta koyarak çağırıyorduk. Math.pow() • Statik olmayan metodlar bu metodlar sınıf üzerinden türetilmiş bir nesne ile ancak çağrılabilirler. Sablon nesne=newSablon(); nesne.metod(); Main metodu neden static ?? Çünkü JVM nin hiçbir nesne oluşturmadan bu metodu çağırabilmesi lazım

  13. Sınıfın Erişim Alanları • Sınıfın erişim alanı • Sınıf değişkenleri ve metodları • Sınıf değişkenleri (üyeleri) tüm sınıf metodları tarafından erişilebilir. (Global değişken) • Üyeler isimleriyle refere edilirler. • nesne.Üyeİsmi • Saklı sınıf değişkenleri( içinde bulunulan sınıfı temsil eder) • this.değişkenismi

  14. Üyelere Erişimde Kontrol • Üye erişim alanını değiştiriciler • Sınıf değişkenlerine ve metodlarına erişim anahtarları • public • Değişkenler ve metodlar sınıf tarafından üretilen nesneler tarafından ulaşılabilir. • private • Değişkenler ve metodlar sınıf tarafından üretilen nesneler tarafından ulaşılamazlar.

  15. Kullanılan Nesnenin Üyelerine this Kalıbı ile Referans Verme • Anahtar kelimethis (this reference) • Nesnenin kendisini referans etmesini sağlar. • Bu referans sayesinde nesnelere ait global alanlara erişmefırsatı buluruz.

  16. Bir class çatısı anahtar class classİsmi { anahtar veritipi veriadi; public classİsmi(){ // sınıf yapılandırıcısı } anahtar donustipi metodismi(parametre1,….) { // metoda ait ifadeler } } Anahtar:public,private,static

  17. Kullandığımız clasların incelenmesi • Üye değişkenlerini seçebilme • Üye metodlarını seçebilme • Sınıf yapılandırıcılarını seçebilme • Math sınıfı, JoptionPane,Jbutton,Jlabel,String

  18. Kullandığımız sınıfları yazalımsürekli yapılan işler için yeni sınıflar yazalım • Math sınıfını yazalım • Türkçe tarih sınıfı yazalım (hangiAy(),hangiGun(),ayinKaci(),kacinciAy()) • kelimeDuzenle sınıfı yazalım (kucukHarfYap(),buyukHarfYap(),turkceKarekterDuzelt(),

More Related