abstract sınıf
- Java kursu
- Orta seviye
- Ders 53/116
- 5 dk
abstract sınıf tanımlamayı öğrenirsin.
abstract sınıf nedir?
Bir abstract sınıf, doğrudan örneklenemeyen bir temel sınıftır. abstract anahtar kelimesiyle tanımlanır. Alt sınıflar için bir şablon görevi görür; ortak alan ve metotları toparlar.
Örnek: abstract class Shape { }. Burada Shape abstract'tır; new Shape() yazarsan derleme hatası alırsın. Ama class Circle extends Shape { } yazabilirsin. Abstract sınıf, somut sınıfların taşıyamayacağı ortak davranışı tanımlar. Alt sınıf, abstract sınıfın gövdesini extends ile miras alır. Bu mekanizma kod tekrarını azaltır ve hiyerarşiyi düzenli tutar. Temel sınıf yalnızca şablon sağlar.
Abstract sınıf örnekleme
Bir abstract sınıftan new ile örnek oluşturamazsın. Java, soyut bir türü somutlaştırmayı engeller. Önce bir alt sınıf yazıp onu örneklemen gerekir.
Örnek: abstract class Animal { } tanımladıysan, new Animal() derleme hatası verir. Ama class Dog extends Animal { } yazıp new Dog() yapabilirsin. Bu kısıtlama, abstract sınıfın yalnızca temel olmasını sağlar; tek başına kullanılmasını engeller. Alt sınıf, abstract sınıfın sunduğu şablonu doldurur. Bu, hiyerarşinin anlamlı kalmasına yardımcı olur. Eğer doğrudan örneklemek istiyorsan sınıfı abstract yapmamalısın.
Uygulama Shape abstract sınıfını tanımla
Shape adında bir abstract sınıf tanımla. İçine String name alanını ekle ve yapıcı Shape(String name) yaz; alanı ata. class Circle extends Shape yaz; yapıcı Circle(String name) ile üst yapıcıyı super(name) ile çağır. main içinde Circle c = new Circle("Daire"); ile System.out.println(c.name); yazdır.
Başlangıç kodu
// Soyut geometri sınıfını tanımla
// Bir alt sınıf ekle
// main'de alt sınıfı örnekle ve yazdırÖrnek çözüm
abstract class Shape {
String name;
Shape(String name) {
this.name = name;
}
}
class Circle extends Shape {
Circle(String name) {
super(name);
}
}
class Main {
public static void main(String[] args) {
Circle c = new Circle("Daire");
System.out.println(c.name);
}
}Beklenen çıktı
Daire
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir abstract sınıf nasıl tanımlanır?
- interface class
- final class
- abstract class Doğru cevap
- static class
Açıklama: abstract class kelime öbeği soyut sınıf bildirir.
2 abstract sınıf tanımını tamamla
abstract ____ Shape {
String name;
}
abstract class Shape {
String name;
}
Açıklama: abstract class ile soyut sınıf tanımlanır.
3 Abstract sınıf kavramlarını eşle
| Kavram | Anlamı |
|---|---|
abstract |
Soyutluk kelimesi |
class |
Sınıf kelimesi |
extends |
Miras kelimesi |
new |
Örnekleme kelimesi |