C# interface kullanımı

interface, implement edilen sınıflara yön gösterme için kullanılır. Bir sınıfa birden fazla interface implement edilebilir. interface üyelerine gövde tanımlaması yapılmaz.

interface üyelerine erişim belirleyicisi(access modifier) belirtilmez. Default olarak public olurlar.

interface bir sınıfa implement edilirse, sınıfta interface üyelerinin tümü tanımlanması gerekir.

arayüzü(interface) isimlendirme için genellikle I harfi ile başlar.

using System;
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Log log = new Log();
            log.Message = "Hata ile karşılaşıldı!";
            log.SendDB();
            log.SendFile();
            Console.ReadKey();
        }
        public interface IDBLog
        {
            void SendDB();
        }
        public interface IDBLog
        {
            void SendFile();
        }
        public interface ILog
        {
            string Message { get; set; }
        }
        public class Log : IDBLog, IFileLog, ILog
        {
            private string message;
            public string Message
            {
                get { return message; }
                set { message = value; }
            }
            public void SendDB()
            {
                Console.WriteLine("DB Log : " + Message);
            }
            public void SendFile()
            {
                Console.WriteLine("File Log : " + Message);
            }
        }
    }

}

Çıktı :

c# interface kullanımı
c# interface kullanımı

IDBLog, IFileLog ve ILog arayüzlerimizdir(interface). Log sınıfına birden fazla interface implement edilir. Arayüzlerin(interface) tüm özellikleri Log sınıfında ezilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir