İstanbul'un en iyi web tasarım firması


C# ta Interface (Arayüzler)

C# ‘ta 5 ana tipten biri interface dir. Interfaceler içerisine bir kod içermeyen abstract üyelerden oluşan, erişim belirleyicisi olmayan kendisinden türeyenlere rehberlik eden, arayüzün sahip olduğu tüm davranışları kendisini çağıranları yönlendirip kılavuzluk edendir. - Tanımlanırken interface ile başlanılır. Genelikle baş harfi I ile başlanılır.Erişim belirleyici almazlar ama kendiliğinden publicdirler. - Bilinçsiz olarak abstractırlar. Bilinçli olarak abstract üyelere işaret edilmez. - Interfacelerin içerisinde metot özellik, olay ve temsilci bulunabilir. - Arayüzdeki metodları static olarak belirtemeyiz. - Field içermezler. - Bir arayüzden sınıf, yapı yada başka bir arayüz türetilebilir.

 

Bu kadar tanımdan sonra gelelim örneğimize,

interface IDisk

    {
        void Marka();
        void Kapasite();
    }
interface IGsm
    {
        void Marka();
        void KamerasıVarmi();
    }
interface IMonitor
    {
        void KacInc();
        void Marka();
    }
class Sinif : IMonitorIDiskIGsm
    {
        public void KacInc()
        {
            Console.WriteLine("Markası Samsung'dur.");
 
        }
 
        void IMonitor.Marka()
        {
            Console.WriteLine("17 inc Lcd Monitör.");
        }
 
        #region IGsm Members
 
        void IGsm.Marka()
        {
            Console.WriteLine("Cep telofonumun markası Nokia dır.");
 
        }
 
        public void KamerasıVarmi()
        {
            Console.WriteLine("Evet kamerası var.");
 
        }
 
        #endregion
 
        #region IDisk Members
 
        void IDisk.Marka()
        {
            Console.WriteLine("Markası SanDisk'dir.");
 
        }
 
        public void Kapasite()
        {
            Console.WriteLine("4 GB");
 
        }
 
        #endregion
 
    }
 
class Program
    {
        static void Main(string[] args)
        {
            IDisk disk;
            IGsm gsm;
            IMonitor monitor;
            Sinif s = new Sinif();
 
            disk = s;
            disk.Marka();
            disk.Kapasite();
 
            Console.WriteLine();
 
            gsm = s;
            gsm.Marka();
            gsm.KamerasıVarmi();
 
            Console.WriteLine();
 
            monitor = s;
            monitor.Marka();
            monitor.KacInc();
           
          
        }
    }
 
Yazan:  Özgür Özmen
E-mail: ozgurozmentr@gmail.com
Tarih: 22.11.2008