Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...

C# Interface(Arayüz)

Şimdi iki interfaceim olsun ve içinde aynı isimden metodumuz olsun.

    interface IA
    {
        int Metot(int x);
    }

 

    interface IB
    {
        int Metot(int x);
    }

Şimdide bunlardan kalıtım alacak bir sınıf oluşturayım.Bunları mecburen Explicitly implement edeceğim.(name hiding olmaması için)
Deneme.cs sınıfında oluşturuyorum.

   class Deneme:IA,IB
    {
       int IA.Metot(int x)
        {
            return x + x;
        }

        int IB.Metot(int x)
        {
            return x * x;
        }
    }

Yukarıdaki metodları name hiding olmaması için mecburen Explicitly implement ettik.Böylece gelen elemanlar private oldu ve budurumda bu metodları bu class nesnesi üzerinde nasıl kullandıracağız bunu göstereyim.
Deneme.cs sınıfına public olan iki tane metod yazıyorum.

       public int MetotA(int a)
        {
            IA a_ref = this;
            return a_ref.Metot(a);
        }

        public int MetotB(int a)
        {
            IB b_ref = this;
            return b_ref.Metot(a);
        }

Yukarıdaki yapıyı incelerseniz eğer, bu classtan dısarıya acılan iki metod sayesinde , private metodları kullanabiliyorum.

Umarım anlattığım interface yapısından yararlanırsınız.Benden bu kadar ..
Bir sonraki yazımda görüşmek üzere..
İyi çalışmalar…

Bunlar da hoşunuza gidebilir...

1 Cevap

  1. 10 Mart 2017

    […] eğer Interface’ler üzerine zamanında yazmış olduğum makalemin name hiding ile ilgili şu adresteki bölümü okumanızı ve bu makaleye öyle devam etmenizi tavsiye […]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir