1 Haziran 2013 Cumartesi

C Sharp Uygulamalar Class Tanımlama - Override Equals Method - Override ToString Method



KONU : C Sharp Uygulamalar - C Sharp ( C# ) Sınıf oluşturma ve fields & properties ekleme. Generic List sınıfını kullanarak sınıf nesnelerini listeleme ve saklama. Generic Liste nesne ekleme ve eklenen nesneleri listeleme. C sharp Override Equals ve Override ToString Method larını tekrar yazma.
ETİKETLER: 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_Equals_Override
{
    class Program
    {
        static void Main(string[] args)
        {
            Siniflar sinif1 = new Siniflar();

            sinif1.SinifAd = "Sınıf - 1";

            Siniflar sinif2 = sinif1;

            Siniflar sinif3 = sinif2;

            Console.WriteLine("\n\n" + sinif1 + "  " + sinif3 + " e eşit mi ?");

            if (sinif3.Equals(sinif1))
            {
                Console.WriteLine("bu iki referans noktası aynı örneği(instance) gösteriyor.\n\n");
            }
            else
            {
                Console.WriteLine("bu iki referans noktası aynı örneği(instance) göstermiyor.\n\n");
            }
            
            //sinif2 ve sinif3 nesnelerinin yeni örnekleri oluşturma

            //simdi bu 3 sınıfında id si bibirinden farklı oldu
            
            sinif2 = new Siniflar();
            sinif2.SinifAd = "Sınıf - 2";

            sinif3 = new Siniflar();
            sinif3.SinifAd = "Sınıf - 3";

            //Yeniden sinif1, sinif2 ve sinif3 nesnelerini eşit mi diye kontrol edelim

            Console.WriteLine("\n\n" + sinif1 + " "+ sinif2 + " e eşit mi ?");

            if (sinif2.Equals(sinif1))
            {
                Console.WriteLine("\n\nbu iki referans noktası aynı örneği(instance) gösteriyor.\n\n");
            }
            else
            {
                Console.WriteLine("\n\nbu iki referans noktası aynı örneği(instance) göstermiyor.\n\n");
            }

            Console.WriteLine("\n\n" + sinif1 + " " + sinif3 + " e eşit mi ?");

            if (sinif3.Equals(sinif1))
            {
                Console.WriteLine("\n\nbu iki referans noktası aynı örneği(instance) gösteriyor.\n\n");
            }
            else
            {
                Console.WriteLine("\n\nbu iki referans noktası aynı örneği(instance) göstermiyor.\n\n");
            }
            
            //Jenerik bir sınıflar listesi oluşturma

            List Siniflar = new List();

            //oluşturulmuş sinid nesnelerini jenerik liste ekleme

            Siniflar.Add(sinif1);
            Siniflar.Add(sinif2);
            Siniflar.Add(sinif3);

            //jenerik listeyi konsol ekranına yaz (id değerleri ile birlikte)
            for (int i = 0; i < Siniflar.Count; i++)
            {
                Console.WriteLine(Siniflar[i].Id + "  :  " + Siniflar[i].SinifAd);
            }


            Console.ReadKey();
        }
    }

    class Siniflar
    {
        // id ve sinifAd isminde iki adet alan (field) tanımlayalım
        private string id;
        private string sinifAd;

        // Id özelliğini (property) tanımlayalım.
        public string Id 
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }

        //SinifAd özellliğini (property) tanımlayalım
        public string SinifAd 
        {
            get
            {
                return sinifAd;
            }
            set
            {
                sinifAd = value;
            }
        }
       
        //Contructor Tanımlayalım. Bir örnek alındığında tek bir id atayalım
        public Siniflar()
        {
            //Constructor - Global unique identifier 

            this.Id = Guid.NewGuid().ToString();
            this.sinifAd = "Sınıf - ?";
        }

        //Equals metodunu yeniden yazma, bu sınıf için

        public override bool Equals(object obj)
        {
            //Bu instance ile karşılaştırılacak nesne
            
            Siniflar sinif = obj as Siniflar;

            //karşılaştırılan nesnebin id değeri bu sınıftan üremiş
            //olan nesnenin id si ile aynı ise "True" değerini dön

            if (sinif == null || sinif.Id != this.Id)
            {
                return false;
            }

            return true;
        }

        //ToString metodunu yeniden oluşturacağım. Bunun için override terimini kullanacağım
        public override string ToString()
        {
            return this.sinifAd;
        }
    }
}


Hiç yorum yok :

Yorum Gönder