Yöntem Geçersiz Kılma ve Özyinelemeye Giriş

Java'da Girdi/Çıktı ve Akışlar

Alex Liu

Software Development Engineer

Temel sınıf tanımlama

  • Animal sınıfı genel bir hayvanı temsil eder
    class Animal {
      void makeSound() {
          System.out.println("Animal sound");
      }
      public static void main(String[] args) {
          Animal a = new Animal();
          a.makeSound(); // Output: Animal sound
      }
    }
    
Animal sound
Java'da Girdi/Çıktı ve Akışlar

Kalıtımı anlama - extends

// `Animal`'dan türeyen `Dog` adlı bir alt sınıf oluşturmak için `extends` kullanın
class Dog extends Animal {
    void bark() {System.out.println("Bark");}
}
public static void main(String[] args) {
    Dog d = new Dog(); // Animal'dan türeyen Dog nesnesinin yeni bir örneğini oluştur
    d.makeSound();
    d.bark();
}
  • Her iki sesi de satır satır yazdırın:
Animal sound
Bark
Java'da Girdi/Çıktı ve Akışlar

Java'da yöntemleri geçersiz kılma

class Cat extends Animal {
    @Override // `.makeSound()` davranışını geçersiz kılmak için `@Override` kullanın
    void makeSound() {
        System.out.println("Meow");
    }
}
public static void main(String[] args) {
    Cat c = new Cat(); // Animal'dan türeyen Cat nesnesinin yeni bir örneğini oluştur
    c.makeSound(); // Geçersiz kılınan `makeSound()` yöntemini çağır
}
Meow
Java'da Girdi/Çıktı ve Akışlar

Özyinelemeyi anlama

  • Bir yöntemin, bir sorunu çözmek için kendini çağırması
  • Sonsuz özyinelemeyi önlemek için bir temel durum gerekir
public class RecursionExample {
    static void countdown(int n) {
        // Base case
        if (n == 0) return; 
        System.out.println(n);
        // Recursive call
        countdown(n - 1); 
    }
}
Java'da Girdi/Çıktı ve Akışlar

Özyineleme örneği

  • Örnek kullanım
    public static void main(String[] args) {
      countdown(5);
    }
    
  • Özyinelemeli çağrı, temel durum olan 0'a ulaşınca durur
    5
    4
    3
    2
    1
    
Java'da Girdi/Çıktı ve Akışlar

Özet

  • extends kalıtımı etkinleştirir

  • @Override devralınan davranışı değiştirir

  • Recursion sorunları daha küçük adımlara böler

    • Temel durum sonsuz özyinelemeyi önler
Java'da Girdi/Çıktı ve Akışlar

Hadi pratik yapalım!

Java'da Girdi/Çıktı ve Akışlar

Preparing Video For Download...