Arabirim ve classlar-1

Arabirim classlara standart getirmek için kullanılır. Arabirimlerdeki üylerin o arabirim uygulanmış sınıfda olma garantisini verir. Arabirimler Dağası gereği publicdirle. Public erişimdeğiştiricine gerek yoktur. Yazsakda hata verir. Arayüz Üyeleri;özellikler (properties),methodlar (methods),olaylar (events), indeksleyiciler (indexers) kurucu(constructors), yıkıcı(deconstructors) yöntemler ve ve alanlar(fields) kullanılmaz.

  class Program
    {
        static void Main(string[] args)
        {
            Insan insan = new Insan("mehmet",2);
            IInsandir insandir=(IInsandir) insan;
            Console.WriteLine( " adi: {0}   yaşı: {1} ", insandir.ad, insandir.yas.ToString());
            insandir.yazdir();
            Console.WriteLine(" Ölüm yaşı:" + ((IKader)insan).yas.ToString());
            insandir.yazdir();


        }
    }
    class Insan : IInsandir,IKader  
    {
        string ad;
        int yas;
        int olumyasi = 1;
        public Insan(string ad, int yas)
        {
            this.ad = ad;
            this.yas = yas;
        }

        // açık explicitly bir şekilde arabirimi implement ettim. Yani net bir şekilde tanımladım. 
        //Bunun bir amacıda Bir sınıf kalıtım aldığı sınıflarda aynı isimde üyler varsa bu üyeleri bir birinden ayrımak için kullanılır.
        int IInsandir.yas 
        {
            get
            {
                return yas;
            }
            set
            {
                yas = value;
            }
        }

        // goruldugu gibi birden fazla ve  farklı () yöntemi olduğundan bunları açık tanımladık.
        //aynı nesne veya özelliklerden bahsediliyorsa tek bir kaplaı bir yöntemde yazılabilirdi. Mesala
        //public int yas()
        //{
        //    return yas;
        //} //hata vermezdi, fakat zaten iki ayrı yas yöntemi olduğundan hata verecektir.açıklama satırını dönüştürdüm

        int IKader.yas 
        {
            get
            {
                return yas+80;
            }
            set
            {
                if (value < 0) olumyasi = 1;
                olumyasi=value  ;
            }
        }


        string IInsandir.ad
        {
            get
            {
                return ad;
            }
            set
            {
                ad=value;
            }
        }

        public void yazdir()
        {
            Console.WriteLine("adım  {0}, yasşın {1} dır", ad,yas);
        }
    }
    interface IKader
    {
       //public string soyad(); // public olamaz.
       //int yas;  //alan olmaz..
        int yas{get;set;}
    }
    interface IInsandir
    {
        int yas { get; set; }
        string ad { get; set; }
        void yazdir();
    }

ConsoleApplication2.rar (29,62 kb)

Add comment

The file '/Custom/Widgets/Calendar/widget.cshtml' does not exist.The file '/Custom/Widgets/Category list/widget.cshtml' does not exist.The file '/Custom/Widgets/Tag cloud/widget.cshtml' does not exist.The file '/Custom/Widgets/Page List/widget.cshtml' does not exist.The file '/Custom/Widgets/Month List/widget.cshtml' does not exist.