extends
- Java kursu
- Orta seviye
- Ders 13/116
- 5 dk
extends ile miras almayı öğrenirsin.
extends anahtar kelimesi
Miras (inheritance), bir sınıfın başka bir sınıfın alan ve metotlarını devralmasıdır. Java'da extends anahtar kelimesi ile yapılır. Devralan sınıfa alt sınıf (subclass), devralınan sınıfa üst sınıf (superclass) denir.
Örnek: class Dog extends Animal { }. Burada Dog alt sınıf, Animal üst sınıftır. Dog, Animal'ın tüm public ve protected alanlarına ve metotlarına erişir. Miras, kod tekrarını azaltır; ortak özellikleri üst sınıfta toplar, alt sınıflar özelleşir.
Devralınan üyeler
Alt sınıf, üst sınıfın public ve protected üyelerine doğrudan erişir. Bu üyeleri yeniden tanımlamadan kullanabilir. private üyelere doğrudan erişilemez; getter ve setter ile ulaşılır.
Örnek: Animal sınıfında String name ve void eat() olsun. Dog extends Animal yazdığında Dog örneği d.name ve d.eat() çağrılarını yapabilir. Bu üyeleri Dog içine tekrar yazmaya gerek yoktur. Miras, kodu tek yerde tutar ve yeniden kullanımı kolaylaştırır.
Uygulama Dog sınıfını Animal'dan miras al
Animal adında bir sınıf tanımla; içine String name alanı ve void eat() metodu ekle. Metot gövdesinde System.out.println(name + " yiyor"); yaz. Sonra Dog extends Animal tanımla; içine void bark() metodu ekle, gövdesinde System.out.println(name + " havlıyor"); yaz. Dog içine main koy; bir Dog örneği oluştur, name ata, eat ve bark metodlarını çağır.
Başlangıç kodu
// Animal sınıfını tanımla
// Dog extends Animal tanımla
// main içinde örnekle ve çağırÖrnek çözüm
class Animal {
String name;
void eat() {
System.out.println(name + " yiyor");
}
}
class Dog extends Animal {
void bark() {
System.out.println(name + " havlıyor");
}
public static void main(String[] args) {
Dog d = new Dog();
d.name = "Karabaş";
d.eat();
d.bark();
}
}Beklenen çıktı
Karabaş yiyor Karabaş havlıyor
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangisi miras tanımıdır?
- class Dog : Animal { }
- class Dog implements Animal { }
- class Dog from Animal { }
- class Dog extends Animal { } Doğru cevap
Açıklama: extends anahtar kelimesi miras ilişkisini kurar.
2 Miras tanımını tamamla
class Dog ____ Animal {
void bark() { }
}
class Dog extends Animal {
void bark() { }
}
Açıklama: extends anahtar kelimesi miras ilişkisini kurar.
3 Miras bölümlerini eşle
| Kavram | Anlamı |
|---|---|
extends |
Miras anahtar kelimesi |
Dog |
Alt sınıf |
Animal |
Üst sınıf |
name |
Devralınan alan |