Object Oriented Programming (Constructor Method) Ders 2
Merhaba,
Bu yazımızda OOP nin yine temellerinden biri olan Constructor Method ile devam edeceğiz. Hızlıca konuya girelim.
Bir önceki makalemizde c# da herşey bir nesnedir demiştik. Hatırlarsanız örneğimizde de öğrenci sınıfından ogr isimli bir nesne türetmiştik.
Hemen hatırlayalım.
1 |
Ogrenci ogr = new Ogrenci(); |
Kodumuz buydu ve new keywordünü kullanarak ogr adında yeni bir nesne oluşturduk. Peki bunu nasıl yaptık.
Burada sınıfların içerisinde varsayılan olarak gelen Consturactor Method devreye girmektedir. Peki nedir bu method. Bu method adındanda anlaşılacağı üzere yapıcı method olarak geçer oluşturulan her sınıfın içerisinde gelir default halinde iken hiç bir parametre almaz. Aslında biz bunu sürekli görmekteyiz fakat inanıyorum ki hiç dikkatimizi çekmemiştir.
Yeni bir form açtığımızı düşünelim.
1 2 3 4 5 |
public Form1() Â Â Â Â Â Â Â { Â Â Â Â Â Â Â } |
Bu gördüğünüz yapı işte consturactor method olarak adlandırdığımız yapıdır. Peki ben bunları neden anlatıyorum. Aslında sürekli gördüğümüz ve kullandığımız bir sınıftan yeni bir nesne oluştururken devreye giren methodun adı Constructor Methoddur.
Eğer işin temellerini bilmez isek ilerleyen zamanlarda parçaları birleştirirken zorlanabiliriz. O yüzden adım adım gitmekte yarar görüyorum.
Yine bir önceki makalemizde bir class oluşturmuştuk. Burada da hemen oluşturduğumuz classı yenileyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class Ogrenci        {            public string adi;            public string soyadi;            public double boyu;            public string cinsiyeti;            private int yasi; } |
Bu class dan yeni bir nesne türetmek istediğimizde biliyoruz ki hiç bir parametre almayacak neden çünkü constractor methodu varsayılan halinde yani parametresiz olarak durmaktadır. Peki ben bu methodu overload yapabilirmiyim. Bakın yeni bir terim daha geldi karşımıza. Aşırı yükleme olarak bilinen bu terim bir methodun farklı farklı parametreler alarak da çalışabilmesi için kullanılan yapıya verilen addır.
.toString() dediğimizde bu methodun içerisinde birden fazla parametreyi farklı şekilde alabildiğini görmüşsünüzdür. Aynı zamanda hiç parametrede almayabilir.Şimdide yapılışını inceleyelim.
Aslında çok basit.
Önceki makalemizin devamı olarak aynı yapı üzerinden kodlarımızı tekrar yazalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
public class Ogrenci        {            private string Adi;            private string Soyadi;            private double Boyu;            private string Cinsiyeti;            private int Yasi;            //Kapsülleme İşlemi            public string Adi1            {                get { return Adi; }                set { Adi = value; }            }            public string Soyadi1            {                get { return Soyadi; }                set { Soyadi = value; }            }            public double Boyu1            {                get { return Boyu; }                set { Boyu = value; }            }            public string Cinsiyeti1            {                get { return Cinsiyeti; }                set { Cinsiyeti = value; }            }            public int Yasi1            {                get { return Yasi; }                set { Yasi = value; }            }            // Construtor Method            public Ogrenci()            {            }            public Ogrenci(string adi)            {                Adi1 = adi;            }            public Ogrenci(string adi, string soyadi, double boyu)            {                Adi1 = adi;                Soyadi1 = soyadi;                Boyu1 = boyu;            }        } |
Kodu incelediğimizde dikkat ederseniz public bir class oluşturduk. Sonra private olarak değişkenlerimizi tanımladık. Ardından bu değişkenler için kapsülleme işlemini gerçekleştirdik.
Sonrasıda ise constructor methodlarımızı yazmaya başladık.
Dikkat ettiyseniz ilk olarak methodun hiç parametre almamış halini yazdık.Sonrasında ise adi parametresi alacak şekilde sonrasında ise üç parametre alacak şekilde methoda yükleme yaptık.
Constructor methodu overload yaptıktan sonra yeni nesne oluşturma esnasında aldığımız parametreleride içeride bulunan değişkenlerimize atadık. Bu sayede daha az işlem ile daha rahat kontrol edilebilen bir sınıf yapısı oluşturmuş olduk.
OOP (Nesne tabanlı programlama) nın temellerinden olan Constructor Method yapısınıda anladığımızı varsayıyorum. Tabi ki resmin daha da netleşebilmesi için daha çok örnek incelemek lazım. Dilediğiniz zaman sorularınız için iletişime geçebilirsiniz.
İyi Günler Dilerim,