2 Ekim 2018 Salı

Abstract class nedir? Nasıl kullanılır?

2 comments
Bu yazıda Abstract class'ın ne olduğunu, nasıl kullanılacağını anlatmaya çalışacağım.

Abstract class


Class'ların miras alacağı ana class'lardır. Abstract class'ta oluşturulan abstract metotların alt sınıflarda override edilmesi gerekirken, abstract olarak tanımlanmayan metotlar için ekstra bir işlem yapılmasına gerek yoktur.

Hemen basit bir örnek üzerinden açıklamak gerekirse :

Öncelikle Ulke adında abstract class oluşturuyorum. Daha sonra da bu class'tan inherit alan Almanya, Fransa ve İtalya class'larını oluşturacağım.


abstract class Ulke
{
        public string Kita() {
            return "Avrupa";
        }
        public string ParaBirimi() {
            return "Euro";
        }
        public abstract string Dil();
  }

Almanya, Fransa ve İtalya. Üçü de Avrupa kıtasında bulunduğu ve para birimleri de Euro olduğu için, Kita ve ParaBirimi metotlarını abstract olarak tanımlamadım. Dil ise tüm ülkelerde farklı. Bu nedenle Dil metodunu abstract olarak tanımladım ve 3 alt sınıfta da override ederek kendi değerlerini set edeceğim.

Öncelikle Almanya sınıfımı Ulke sınıfından miras alacak şekilde oluşturuyorum.


class Almanya : Ulke 
{

}

Projeyi build ettiğimde Dil metodunu implement etmediğim için hata alıyorum.

Tüm class'larımı oluşturuyorum.


class Almanya : Ulke
 {
 public override string Dil()
        {
            return "Almanca";
 }
}

class Fransa : Ulke
{
        public override string Dil()
        {
            return "Fransızca";
        }
}

class Italya : Ulke
{
        public override string Dil()
        {
            return "İtalyanca";
        }
}

Görmek istediğim değerleri ekrana basıyorum.


            var a = new Almanya();
            var f = new Fransa();
            var i = new Italya();

            Console.WriteLine("Almanya : " + a.Kita() + " " + a.ParaBirimi() + " " + a.Dil());
            Console.WriteLine("Fransa : " + f.Kita() + " " + f.ParaBirimi() + " " + f.Dil());
            Console.WriteLine("İtalya : " + i.Kita() + " " + i.ParaBirimi() + " " + i.Dil());

Sonuç da aşağıdaki gibi.


If You Enjoyed This, Take 5 Seconds To Share It

2 yorum:

net dedi ki...

Gerçek Bilgiler
Sıradışı Bilgiler
Pratik Bilgiler
Tekno Bilgiler
Tuhaf Ama Gerçek
İlginç Bilgiler
İnanılmaz Bilgiler
Şaşırtıcı Bilgiler
https://www.netbilgiler.net/

joemill00077711 dedi ki...

?I used to be very pleased to search out this internet-site.I needed to thanks on your time for this excellent learn!! I positively having fun with every little bit of it and I have you bookmarked to take a look at new stuff you blog post. online casino slots