Sobes.tech
Junior

Soyut sınıf nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Soyut sınıf, doğrudan new operatörü kullanılarak oluşturulamayacak bir sınıftır. Diğer sınıflar için temel görevi görür ve soyut metodlar (uygulaması olmayan) ile normal metodlar (uygulaması olan) içerebilir. Soyut sınıflar abstract anahtar kelimesiyle tanımlanır.

Ana özellikler:

  • Örneklenemez: Kendine ait soyut sınıfın nesnesi oluşturulamaz.
  • Soyut metodlar içerebilir: Gövdesi olmayan, alt sınıflar tarafından yeniden tanımlanması gereken metodlar.
  • Normal metodlar içerebilir: Uygulaması olan metodlar, kalıtılabilir veya yeniden tanımlanabilir.
  • Kalıtım: Alt sınıflar, soyut sınıfı kalıtır ve tüm soyut metodlarını uygulamalıdır.

Örnek:

abstract class Shape {
  // Gövdesiz soyut metod
  double getArea();

  // Uygulaması olan normal metod
  void describe() {
    print('Bu bir şekil.');
  }
}

class Circle extends Shape {
  double radius;

  Circle(this.radius);

  // Soyut metodun uygulaması
  @override
  double getArea() {
    return 3.14 * radius * radius;
  }
}

class Square extends Shape {
  double side;

  Square(this.side);

  // Soyut metodun uygulaması
  @override
  double getArea() {
    return side * side;
  }
}