C#

C# Yapılandırıcılar (Constructors)

yapılandırıcı

Metot ve metotların parametreli kullanımlarına değindik. Şimdi ise değişkenlerimize program başladığında ilk değerlerini nasıl veririz yani nasıl yapılandırırız buna değineceğiz. Normal yapıda, tanımladığınız değişkenleri tanımlar daha sonra kullanacağımız zaman programın değişik yerlerinde değerler veririz. Ancak bu güvenli ve sağlıklı bir yapı olmaz (Özellikle büyük projelerde). Biz değişkenleri tanımladığımız da aslında farketmeden C# değişkenlere ilk değerlerini atar. Yani kendi yapılandırıcısı vardır. Bunu new operatörüyle sağlar. Üye değişkenlerin değer tipi için ilk değeri sıfır, bool için false, referans tipi için ise null olur. Peki biz yapılandırıcı tanımlarsak bir karışıklık olur mu? Bunun cevabı “Hayır”. Çünkü biz yapılandırıcı tanımladığımız anda C# kendi yapılandırıcısını yok eder.

Yapılandırıcılar, metotları ilk kullanıma hazırlamak için kullanılırlar. Daha önce el ile değer verdiğimiz örnek değişkenlere yapılandırıcılar ile değer verebiliriz. Bu hem güvenli hem düzenli olmasını sağlayacaktır. Yapılandırıcılar sınıfları ile aynı isme sahiptir. Ayrıca yapı olarak ta metotlara benzerler. Metotlardan farklı olarak dönüş tipi belirtilmez.

Yapılandırıcının tanımlaması şu şekildedir:

erişim sınıf-adı(parametreler) {

}

Erişim tipi genelde public‘tir.

Basit bir örnekte yapımızı görelim:

Klasik bir yapılandırıcı ile değer atamamızı yaptık. Peki bir nesne tanımladıktan sonra o nesnenin değişkenlerine değer atamak istersek ne olacak? Bunun için parametreli yapılandırıcılara ihtiyacımız. Genel olarak bu yapılandırıcıları kullanacağız. Hemen bir örnek üzerinden baitçe yapıyı incelemeye başlayalım:

 Görüdüğümüz gibi yapılandırıcılar işimizi kolaylaştıran ve daha sağlıklı kod yazmamız sağlayan yapılar. Bu yapılar basit olsada anlamak için metot ve parametre mantığını iyi anlamamız gerekiyor. Daha önceki yazılarımdan bu konulara da göz atabilirsiniz. Kodlamaya devam 🙂

[alert style=”blue”] “Başarı,küçük hataların ve başarısızlıkların biraz ilerisinde duran şeydir.” T. J. Watson [/alert]

İstanbul’un amatör seyyahı. Kod yazmak hayat felsefesi. Android, Java, C# ve Javascript’le yakından, tüm teknoloji dünyasıyla uzaktan ilgileniyor. Drone meraklısı ama sahibi değil.