1 Haziran 2013 Cumartesi

C Sharp Uygulamalar Abstract Class Oluşturma - Miras Alma - Override Virtual Methods



KONU : C Sharp Uygulamalar - C Sharp ( C# ) soyut (abstract class) Sınıf oluşturma ve fields & properties ekleme. C sharp miras alma. Generic Liste nesne ekleme ve eklenen nesneleri listeleme. C sharp Override ToString.C sharp override a virtual method.
ETİKETLER: c sharp abstract class - c sharp class inheritance - c sharp field - c sharp field declaration - c sharp properties - c sharp field property - c sharp access modifier - c sharp field access modifier - c# access modifier - c# field - c# field nedir - c# fields - c# field and property - csharp class - csharp class örnekleri - csharp class tanımlama - csharp class oluşturma - csharp class kullanımı - csharp class constructor - c sharp sınıf tanımlama - c sharp sınıf oluşturma - c sharp alan tanımlama - Generic List - c sharp generic list - generic list kullanımı





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace oop_abstract
{
    class Program
    {
        static void Main(string[] args)
        {
            //Canlilar nesnesini listeleyen bir generic list oluşturalım

            List canlilar = new List();

            Canlilar canli = new Hayvanlar("yılan");

            //oluşturulan yılan nesnesini listeye ekleyelim
            
            canlilar.Add(canli);

            canli = new Bitkiler("begonya");
            
            //oluşturulan begonya bitikisini listeye ekleyelim

            canlilar.Add(canli);

            // burada da listeye eklediğimiz canlıları ve beslenme türlerini console
            //ekranına yazdıralım.

            Array.ForEach(canlilar.ToArray(), canliItem => Console.WriteLine(canliItem.ToString() + " : " + canliItem.Beslen()));
          
            Console.ReadKey();

        }
    }


    //Soyut olarak Canlılar sınıfını tanımlayalım

    abstract class Canlilar
    {
        public string  Alem 
        { 
            get; 
            set; 
        }
        public string Ad
        {
            get;
            set;
        }

        protected string beslenmetürü = "standart";

        public string BeslenmeBicimi()
        {
            return beslenmetürü;
        }

        public Canlilar()
        {
            //nesne yapıcı (constructor)
        }

        public Canlilar(string Ad)
        {
            //nesne yapıcı  - constructor - parametre : Ad

            this.Ad = Ad;
        }

        //override ToString Method
        public override string ToString()
        {
            return this.Alem +" aleminden " + this.Ad;
        }

        public virtual string Beslen()
        {
            return "standart";
        }
    }

    class Hayvanlar:Canlilar
    {
        public Hayvanlar(string ad):base(ad)
        {
            this.Alem = this.GetType().Name;
        }
    }

    class Bitkiler : Canlilar
    {
        public Bitkiler(string ad):base(ad)
        {
            this.beslenmetürü = "fotosentez";
            this.Alem = this.GetType().Name;
        }

        //Virtual olarak tanımlanan metotlar override ile ezilebilir.
        //Miras alınan sınıfta bu değer aşağıdaki gibi değiştirilebilir
        public override string Beslen()
        {
            return "fotosentez";
        }
    }
}

   





Hiç yorum yok :

Yorum Gönder