Struct Yapısı - SOFTSAM

Breaking

About Software

16.08.2014

Struct Yapısı

1) Struct Örneği

Aralarında mantık olarak bağ bulunan farklı tipte veriler struct içerisinde tanımlanabilir.
Field(Alanlar), Property(Özellikler)) ve metodları da bünyesinde barındırabilen yapıdır.Sınıflardan farkı hafıza da tutluş şeklilleridir.

Tanımlanışı:

struct Verilecekisim
{
//İşlenecek kodlar
} http://www.yazilimsam.blogspot.com.tr
Örnek Yapı:(burada tanımlanan veriler Field lar dır.Bunu belirtmek için başına f harfi koyarım)
public struct OrnekYapi
{
   public int fsayi1;
   public string fstr1;
}
Yapı Nesnesi Oluşturmak:
Yapıya ait nesne sınıf nesnesi gibi oluşturulur.
OrnekYapi ornekyapiNesnesi = new OrnekYapi();http://www.yazilimsam.blogspot.com.tr
Erişim:
   ornekyapinesnesi.fsayi1=1996;
   ornekyapinesnesi.fstr1="Softsam"; http://www.yazilimsam.blogspot.com.tr
Yapıların Metodları Ve Kurucuları(Yapıcı Metodları)
class Program
    {
        struct Dikdortgen           http://www.yazilimsam.blogspot.com.tr

        {
            public void Alan(int a, int b)
            {
                Console.WriteLine("Dikdörtgenin alanı: {0}",a*b);
            }
            public void Cevre(int a, int b)
            {
                Console.WriteLine("Dikdörtgenin Cevresi: {0}", (a+b)*2);
            }

        }

        static void Main(string[] args)
        {
            int k1, k2;
            Dikdortgen ypdk = new Dikdortgen();
            Console.WriteLine("1. Kenarı Giriniz");
            k1 = int.Parse(Console.ReadLine());
            Console.WriteLine("2. Kenarı Giriniz");
            k2 = int.Parse(Console.ReadLine());
            ypdk.Alan(k1,k2);
            ypdk.Cevre(k1, k2);
            Console.ReadKey(); http://www.yazilimsam.blogspot.com.tr

        }
    }
Bu örnekte Dikdortgen adında bir yapımız var bu yapı bizim dikdortgenimizin Alan ve Çevresini hesaplamaya yarayan metodlarımızı saklıyor.Bizde main metodumuzda bu yapıyı gerçek bir nesne haline getirip ona istediği değerleri gönderiyoruz.
Yapıcı Metod:
class Program
    {
        struct Dikdortgen
        {
            public Dikdortgen(int a,int b)
            {
                Alan(a, b);       //Yapıcı metoddur
                Cevre(a, b);
            }

            public void Alan(int a, int b)
            {
                Console.WriteLine("Dikdörtgenin alanı: {0}",a*b);
            }
            public void Cevre(int a, int b)
            {
                Console.WriteLine("Dikdörtgenin Cevresi: {0}", (a+b)*2);
            }

        }

        static void Main(string[] args)
        {
            int k1, k2;
            Dikdortgen ypdk = new Dikdortgen();
            Console.WriteLine("1. Kenarı Giriniz");
            k1 = int.Parse(Console.ReadLine());
            Console.WriteLine("2. Kenarı Giriniz");
            k2 = int.Parse(Console.ReadLine());
            Console.WriteLine("-----------------------------------------------");
            Console.WriteLine("Metodlar Çalıştı");
            ypdk.Alan(k1,k2);
            ypdk.Cevre(k1, k2);
            Console.WriteLine("-----------------------------------------------");
            Console.WriteLine("Yapıcı Metod Çalıştı");
            Dikdortgen ypdk = new Dikdortgen(k1,k2);
            Console.ReadKey();
        }
    }
Yapıcı Metod Nedir?
Yapıcı metod demek bir yapı(struct) yada sınıf(class) tan nesne oluştururken çalışmasını istediğimiz metodlardır.Derleyici kod satırında nesnenin tanımlandığı bölgeye gelince ilk başta yapıcısı varmı diye bakar eğer yoksa kendisi hafızada gerekçelere göre tanımlar.Yapıcılar oluşturulurken sınıfın yada structın ismi aynen verilir.Ve sınıflarda boş olmakda dahil parametreli yapıcılar tanımlanabilir fakat struct larda boş yani parametresiz yapıcı oluşturulamaz.


Hiç yorum yok:

Yorum Gönder