1 / 8

EM-406 Java

Polymorphism. EM-406 Java. Motivasyon. Bir işlem birden fazla tip üzerinde çalışabilir Metot temel tip arayüzünü kullanır İşlem çalışan metot tarafından yapılır. Upcasting. Bir objeye temel class larından bir objeymiş gibi davranmak

opal
Download Presentation

EM-406 Java

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. Polymorphism EM-406 Java

  2. Motivasyon • Bir işlem birden fazla tip üzerinde çalışabilir • Metot temel tip arayüzünü kullanır • İşlem çalışan metot tarafından yapılır

  3. Upcasting • Bir objeye temel class larından bir objeymiş gibi davranmak • Aynı class tan türeyen objelerin her biri için ayrı metot yazmak gerekmeyebilir

  4. Metot Bağlama • Bir metot çağrıldığında hangi metot çalışır • Erken: Derleme esnasında • Geç/Dinamik/Runtime : Çalışma esnasında • Objeler hangi tipten olduklarını bildirirler • Java’da static ve/veya final hariç geç bağlama

  5. Metot Bağlama • Shape sh = new Circle(); • sh.draw(); • Shape üzerindeki draw değil Circle üzerindeki draw çalışır • Belli bir noktada draw metoduna bağlı bir kod olabilir • Sisteme yeni şekiller eklenmesi bozulma yaratmaz

  6. Private Override • Temel classtaki private bir metot alt classta tekrar tanımlanmaya çalışılırsa (override) nasıl bir davranış olur?

  7. abstract • Temel classta anlamsız olan metotlar • shape.draw() ??? • Gövdesi olmayan metotlar abstract olur • abstract metodu olan classlar abstract olur • abstract classtan obje üretilmez

  8. Constructor • Constructor içinden polymorphic metot çağrılırsa ne olur? • Obje için hafıza alanı hazırlanır • Temel class constructorları çağrılır • Bu aşamada bir tekrar tanımlanmış metot çağrılırsa boş döner. • Tanımlama sırasına göre değişkenler başlatılır. • Türemiş class constructor u çağrılır.

More Related