C# Abstract(Soyut Tipler) Kavramları Google'da Ara Büyüt Küçült

Genişlet
19 Şubat 2010 – 16:13

Abstract classlar nesnesi türetilmeyip, classların ortak özelliklerini kendisinde toplar. Önüne abstract yazarak soyutlaştırmış olup diğer classlara extend hakkı vermiş oluruz.

Abstract class, sadece başka class’lar kendisini extend etsin diye yaratılmıştır. Tek başlarına yaratılamaz ve kullanılamaz.

- Abstract tipler  soyut bir tiptir.
- Abstract sınıfların nesnelerini tanımlayamayız.
- Abstract tipler base sınıf olma görevi görürler.
Abstract üyeler yalnızca abstract tipler içerisinde tanımlanabilirler.
Abstract üyeler kalıtılan sınıf içerisinde ezilmek zorundadırlar.  Çünkü base’de tanımlı bir iş mantıkları yoktur.
Abstract tipler içerisinde non-abstract üyeler bulunabilir.
- Abstract metodlar private tanımlanmazlar, public veya protected olurlar.

Örnekle inceleyelim

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
abstract class  Class1
{
protected int  _x = 10;
protected int  _y = 30;
public abstract void DegeriBirArtir();  // Abstract metodların kod  bloğu yoktur { Kodunu,  türeyen sınıflar yazmak zorundadır. }
public abstract int X { get; }
public abstract int Y { get; }
}
class  Class2:Class1
{
public override void DegeriBirArtir()
{
_x++;
_y++;
}

public override int X
{
get
{
return _x + 10;
}
}

public override int Y
{
get
{
return _y + 10;
}
}
}

static void Main(string[]  args)
{
Class2 c =  new Class2();
c.DegeriBirArtir();
Console.WriteLine(”x  = {0}, y = {1}”, c.X, c.Y);
// Class1 c = new Class1();   // HATA
}
Etiketler Etiketler: ”,

Benzer Yazılar

Yorum Yap

Isim : (gerekli)
E-mail : (gerekli)
Yorumunuz: