24 Nisan 2013 Çarşamba

C Sharp Uygulamalar Abstract Class Instance - Soyut Sınıf Oluşturma - Sınıflar Miras Alma - Method Overiding



KONU : C Sharp Uygulamalar - C Sharp ( C# ) konsol sınıf oluşturma, Soyut sınıf oluşturma, soyut sınıftan yeni sınıflar türetme, sınıflarda miras alma, c sharp method overiding, c sharp soyut metodu ezme.





UYGULAMAYI İNDİR



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

namespace Soyut_Sinif
{
    class Program
    {
        static void Main(string[] args)
        {
            //SoyutSinif soyutsinif = new SoyutSinif();   

            // Böyle bir tanımlama yapılamaz Abstract sınıfın bir örneği(instance) alınamaz

            // Sadece kalıtım için kullanılabilir

            TuretilenSinif tureyensinif = new TuretilenSinif();


            // yazdir metodu SoyutSinif ına ait bir metot 
            
            tureyensinif.yazdir("Merhaba\n");

            
            // yaz() metodu SoyutSiniftan miras alınmış ve TuretileSinif içinde

            // değiştirilerek (override) artık TüretilenSinif ın bir metodudur.

            tureyensinif.yaz();

            tureyensinif.Ad = "Ahmet";

            tureyensinif.Soyad = "Kara";

            tureyensinif.Telefon = "1 111 111 11 11 ";


            Console.WriteLine(tureyensinif.Ad + "  " + tureyensinif.Soyad + 
                ": "+tureyensinif.Telefon);
            
            Console.ReadKey();




            /*
             *
             * Program Çıktısı:
             * 
             *  Merhaba

                Türetilen sinifta değiştirildim

                Ahmet  Kara: 1 111 111 11 11
             *
             */
        }
    }


    // Abstract sınıf(soyut sınıf) oluşturma

    // Abstract sınıfların nesnesi üretilemez

    // Abstract sınıflardan türemiş olan sınıfların nesneleri üretilebilir.

    // Bu duruma çok biçimlik (polymorphism) denir.

    // Abstract sınıf kalıtım amacıyla kullanılır.

    abstract class SoyutSinif
    {
        //Abstrac sinif içinde normal bir metot 


        public void yazdir(string yazi) 
        {
            Console.WriteLine(yazi);
        }


        // Abstrac sinif içinde abstract bir metod oluşturma

        public abstract void yaz();


        //abstact bir metot sonradan yani miras alındığı sınıf içinde değiştirilmesine

        // olanak verir (override).

        // Abstract metot static olamaz.

        // Abstract metot virtual olamaz.

        // Abstract metot private olarak tanımlanamaz.

        // Abstract sınıf içinde metodun tanımlaması veya açıklaması yapılmaz.

        // Ad isminde soyut bir property oluşturma  

        // Soyut metod için geçerli olan özelikler soyut property içinde geçerlidir


        public abstract string Ad
        { 
            get; 
            set; 
        }

        // Soyad isminde soyut bir property oluşturma 

        // Soyut metod için geçerli olan özelikler soyut property içinde geçerlidir


        public abstract string Soyad
        { 
            get; 
            set; 
        }


        public abstract string Telefon 
        { 
            get; 
            set; 
        }
    }

 
    class TuretilenSinif:SoyutSinif
    {
        // Abstract metodu (override) değiştir 

        public override void yaz()
        {
            Console.WriteLine("Türetilen sinifta değiştirildim\n");
        }

        private string ad;

        private string soyad;

        private string telefon;


        // Abstract 

        public override string Ad
        {
            get
            {
                return ad;
            }
            set
            {
                ad = value;
            }
        }


        public override string Soyad
        {
            get
            {
                return soyad;
            }
            set
            {
                soyad = value;
            }
        }


        public override string Telefon
        {
            get
            {
                return telefon;
            }
            set
            {
                telefon = value;
            }
        }
    }
}

}


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönderme