ASP.NET
Network Akademi

Met Hostimg

“Bilgi paylaşıldıkça artar” sloganı ile .NET Platformuna ilişkin birikimlerin paylaşıldığı ASP.NET.TR Topluluğunda sizde “YAZAR” olmak için ; info@asp.net.tr e-mail adresine kendinizi anlatan bir e-mail göndererek başvuruda bulunabilirsiniz.

Interface (Arayüz) Kullanımı

Onur YILMAZ
C#.NET
23.05.2011 17:21:30
Hit : 9478

Merhaba arkadaşlar bu makalede Interface(Arayüz) kullanımından bahsetmek istiyorum.
 
Interface(Arayüz) nedir?
Interface başka sınıflar için rehber, örnek şablondur.
 
Bu şu anlama gelmektedir;
Interface oluşturulurken hiç bir şekilde kod ile işlem yapılmaz yani bir toplama metodu olacaksa alınan iki parametre toplanıp return edilmez.
Söylediğim gibi sadece rehber,şablondur Interface.
 
İşlem yapmadıktan sonra bizim ne işimize yarayacak diye düşünmeyelim hemen yazmış olduğumuz bir Interface oluşturduğumuz yeni bir Sınıf için rehber olur ve yazmamız gereken metodları bize gösterir.Böylelikle kod bütünlüğünü ve okunurluğunu arttırmış oluruz.
 
Interface Tanımlama
 
Öncelikle belirtmek istediğim birşey var .Net’te tanımlı olan Interface’lerin hepsi I ile başlar ve bu onun Interface olduğunu belirtir.Bizde Interface’lerimizi oluştururken bu şekide isimler verirsek daha anlaşılır olur.
 
Interface’lerin Sahip Olabilecekleri Üyeler
 
1. Properties(Özellikler)
2. Methods(Metodlar)
3. Events(Olaylar
4. Indexers(İndeksleyiciler)
 
Interface’lerin Sahip Olamayacakları Üyeler
 
1. Constructors(Yapıcılar)
2. Destructors(Yok Ediciler)
3. Fields(Alanlar)
 
Interface Oluştururken Dikkat Edilmesi Gereken Kurallar
 
1. Interface’lerin tüm üyeleri PUBLIC olarak varsayılır.Tanımlamaları yapılırken başlarına private,protected yazılamaz.Tabiki aynı zamanda publicte yazılamaz çünkü zaten varsayılan olarak publictir.
2. Interface’ler bir sınıf veya Struct’tan türetilemez, kalıtım alamaz.Ancak ve ancak başka bir Interface’den kalıtım alabilirler.
3. Interface’lerin uygulandığı sınıflar Interface’nin sahip olduğu tüm üyeleri kullanmak zorundadır.
 
 
Şimdi bir bilgisayar sınıfında bulunması gerektiğini düşündüğümüz metodları standart’a bağlamak için bir Interface yazalım ve adını IComputerInterface olsun gerekli kodlarımız aşağıdaki gibi olacaktır.
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Samples
{
    interface IComputerInterface
    {
        //Bu Interface'yi inherit eden sınıf ComputerName adında bir metod'a sahip olmak zorundadır.
        string ComputerName();
 
        //Bu Interface'yi inherit eden sınıf ComputerDomain adında bir metod'a sahip olmak zorundadır.
        string ComputerDomain();
    }
}
 
Evet IComputerInterface adında Interface’mizi oluşturduk.

Şimdi Computer adında bir Sınıf oluşturalım ve IComputerInterface Interface’sini uygulayalım.

 

Computer Sınıfımıza IComputerInterface Arayüzümüzü yukarıdaki gibi uyguluyoruz.
 
Uygulama sonucunda oluşan sınıfımız aşağıdaki gibidir.
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Samples
{
    public class Computer:IComputerInterface
    {
 
        #region IComputerInterface Members
 
        public string ComputerName()
        {
            throw new Exception("The method or operation is not implemented.");
        }
 
        public string ComputerDomain()
        {
            throw new Exception("The method or operation is not implemented.");
        }
 
        #endregion
    }
}
 
Tabiki biz exception fırlatmaması için gerekli değişiklikleri yapıyoruz ve sınıfımızın son hali aşağıdaki gibi oluyor.
 
using System;
using System.Collections.Generic;
using System.Text;
 
namespace Samples
{
    public class Computer:IComputerInterface
    {
 
        #region IComputerInterface Members
 
        public string ComputerName()
        {
            return Environment.MachineName;
        }
 
        public string ComputerDomain()
        {
            return Environment.UserDomainName;
        }
 
        #endregion
    }
}
 
Bir sonraki makalede görüşmek üzere,

İyi günler dilerim.

 


Tag Interface » Arayüz » c# » OOP »


BU İÇERİĞE YORUMDA BULUNUN


Bu MAKALE'ye yorum yapabilmek için Üye olmalısınız ...!


BU İÇERİĞE YAPILAN YORUMLAR