Interface

Interface, class ların zorunlu / kesin olarak kullanılacağını belirtmek için kullanılır

    interface IPersonel {
        string adSoyad {get; set;}
        string adres {get; set;}
        string departman { get; set; }
        void bilgi();
    }

    class Yonetici : IPersonel
    {
        public Yonetici(string _adsoyad, string _adres, string _departman)
        {
            this.adSoyad = _adsoyad;
            this.adres = _adres;
            this.departman = _departman;
        }
        public string adSoyad { get; set; }
        public string adres { get; set; }
        public string departman { get; set; }

        public void bilgi()
        {
            Console.WriteLine($"{this.adSoyad} isimli personel {this.departman} ında yönetici olarak çalışıyor ");
        }
    }

    class Isci:IPersonel{
        public Isci(string _adsoyad, string _adres, string _departman)
        {
            this.adSoyad = _adsoyad;
            this.adres = _adres;
            this.departman = _departman;
        }
        public string adSoyad { get; set; }
        public string adres { get; set; }
        public string departman { get; set; }

        public void bilgi()
        {
            Console.WriteLine($"{this.adSoyad} isimli personel {this.departman} ında işçi olarak çalışıyor ");
        }
    }
    class Program
    {

        static void Main(string[] args)
        {
           // IPersonel y = new Yonetici();
           // IPersonel i = new Isci();

            var personeller = new IPersonel[4];
            personeller[0] = new Yonetici("Ahmet Can", "Muş", "Yazılım");
            personeller[1] = new Isci("Kübra Şimşek","Ankara","Mühendis");
            personeller[2] = new Yonetici("Adem Can","Paris","Proje Geliştirme");
            personeller[3] = new Isci("Melike Can","Kayseri","Designer");

            foreach(var p in personeller){
                Console.WriteLine($"Adı: {p.adSoyad}, Adres: {p.adres}, Departman: {p.departman}");
            }
        }
    }

/*
Çıktısı

Adı: Ahmet Can, Adres: Muş, Departman: Yazılım
Adı: Kübra Şimşek, Adres: Ankara, Departman: Mühendis
Adı: Adem Can, Adres: Paris, Departman: Proje Geliştirme
Adı: Melike Can, Adres: Kayseri, Departman: Designer
*/

Last updated