abstract metotlar
abstract metotlar ve türetilmiş sınıfta override etmeyi öğrenirsin.
abstract metotlar
Bir abstract metot, gövdesi olmayan ve alt sınıfta override edilmek zorunda olan metot imzasıdır. Tanımı: public abstract int Area();.
Abstract metot yalnızca abstract sınıf içinde bulunabilir. Alt sınıf, public override int Area() { ... } biçiminde gövde yazmazsa derleme hatası alınır. Bu, alt sınıfların belirli bir davranışı uygulamayı garantilemesini sağlar. Abstract metotlar private olamaz çünkü alt sınıfın görmesi gerekir.
Override zorunluluğu
Abstract sınıfı miras alan her somut sınıf, tüm abstract metotları override etmek zorundadır. Aksi halde derleyici hata verir.
Örnek: abstract class Shape { public abstract int Area(); } tanımlarsan, class Square : Shape içinde public override int Area() { return Side * Side; } yazmalısın. Eğer yazmazsan Square de abstract olarak işaretlemen gerekir. Bu koşul, sözleşmenin tam olarak uygulandığını garanti eder.
Uygulama Kare alanı
Shape abstract sınıfına public abstract int Area(); metodunu ekle. Square sınıfında public override int Area() gövdesini yaz: return Side * Side;. Main'de Shape s = new Square { Side = 4 }; üretip s.Area()'yı yazdır.
Örnek çözümü göster
Shape içine `public abstract int Area();` ekle. Square içine `public override int Area() { return Side * Side; }` ekle. Main içine `Shape s = new Square { Side = 4 }; Console.WriteLine(s.Area());` yaz.
Örnek çözüm:
using System;
abstract class Shape
{
public abstract int Area();
}
class Square : Shape
{
public int Side { get; set; }
public override int Area()
{
return Side * Side;
}
}
class Program
{
static void Main()
{
Shape s = new Square { Side = 4 };
Console.WriteLine(s.Area());
}
}
Kendini test et
-
Eşleştir: abstract metot parçaları
- abstract void MakeSound
- gövdesiz imza
- override
- alt sınıfta gövde
- eksik override
- derleme hatası
- public
- varsayılan erişim
-
Boşluğu doldur: abstract metot
abstract class Shape { public ____ int Area(); }Cevabı göster
abstract class Shape { public abstract int Area(); } -
abstract metotlar ile ilgili hangisi doğrudur?
- abstract metot gövde içerebilir.
- abstract metot private olabilir.
- abstract metot uygulayan sınıfta yeniden tanımlanmaz.
- abstract metot gövdesizdir ve uygulayan sınıfta override edilir.
Cevabı göster
abstract metot gövdesizdir ve uygulayan sınıfta override edilir. — Doğru. Abstract metot gövdesizdir ve override zorunludur.