Bu yazımda Sizlere C# ta Abstract Class ve İnterface kavramını anlatacak ve elimden geldiği kadar da aralarında ki farkı daha çok yaptığım örnekle anlatacağım!!

Abstract class

Abstract Class lar miras (inheritance) vermek amacıyla iplemente edilen classlardır.Yalnız Abstract class ta oluşturulan metodlar veya değişkenler türetilen class ta veyahut miras alan class ta tekrar yazmak zorunda deiliz. Ayrıca Abstract Classın diğer class lar gibi nesnesi oluşturulamaz.Bide Abstract Class ta tanımlayıpta bunu alan class ta aynı metodu iplemente ederken mutlaka o metodu override olarak belirtmeliyiz.

İnterface

İnterface ler bir nevi kalıtım gibidir fakat temel amaçlarından biriside şablon olarak bazı metodları sürekli kullanmak. Interface ler aslında şablon gibidir interface içerisinde oluşturulan metotlar tüm diğer class larda kullanılabilir yalnız bu metotlar interface de gerçeklenmediğinden mecburen interface i alan class ta iplemente etmek zorundayız aldığımız metotları..Abstract Class ta olduğu gibi interfacede de nesne oluşturamıyoruz.

Şimdi Abstract Class ve İnterface i kullandığım örnekle bu konuyu daha iyi anlayacağınızı düşünüyorum.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public interface myinterface
    {
         int topla(int a, int b);
         int carp(int a, int b);
         int boll(int a, int b);
    }
    public abstract class mehmet:myinterface
    {
        public int d, e;
        public int topla(int a, int b)
        {
            return a + b;
        }
        public int carp(int a, int b)
        {
            return a * b;
        }
        public int boll(int a, int b)
        {
            return a / b;
        }
        public abstract void myfunc();
      
    }

    class deveci : mehmet
    {
        static void Main(string[] args)
        {
            deveci x = new deveci();
            Console.WriteLine(x.topla(3,4));
            x.myfunc();
            Console.WriteLine(x.d+”  “+x.e);
            Console.ReadLine();
        }
        public override void myfunc()
        {
            d = 4;
            e = 6;
        }

   
    }

}

işte kodun çıktısı..

MEHMET SALİH DEVECİ

BİLGİSAYAR MÜHENDİSİ YAZILIM UZMANI

Reklamlar
yorum
  1. Hasan MANZAK dedi ki:

    Programlamada Abstract ve Interface çok daha detaylı kavramlardır 🙂 Bu konularda ön bilgiden ziyade biraz daha detaylı bilgiler verirsen daha iyi olur 😉

  2. Hasan MANZAK dedi ki:

    Hatta : http://www.tugrulhelvaci.com/?p=582 Bu adresi bir incele bence 😉

  3. YAZILIM UZMANI dedi ki:

    Olur Hasan Hocam Aslında Bazen Nabza Göre Şerbet vermek lazım geliyo bende onun için öncellikle nolduğunu anlattıktan sonra örnek verip bitiriyom Ama yakında Birazdaha ayrıntılı yazıp bol örnekli bir yazı yazacam!!!

  4. Yenercan dedi ki:

    Bu kodu nasıl cmd de calıstırıyoruz hocam ?
    Output ‘ta calısıyor

  5. Yenercan dedi ki:

    Sağolun hocam
    Allah razı olsun, çalışmalarınızda başarılar dilerim kolay gelsin.
    Esen kalın…

  6. mevlüt dedi ki:

    Bu koddan bu çıktıyı mı aldınız yani? Bilmeyen biri için o açıklamaların nereden geldiği vs ne kadar kafa karıştırır değil mi?

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s