Bir önceki yazımız Java’da Metot Yapısı konusunda metotların yapılarını incelemiştik. Bu yazımızda metot çeşitlerinden bir tanesi olan yapılandırıcıların yapısına ve işleyişine değineceğiz.
Hatırlayacağımız üzere metotlar belirli vazifeleri verdiğimiz, işlemler sonucunda bize bir geri dönüş değeri verebilen ya da geri dönüşü olmadan belirli işlemleri tamamlayan yapılardı. Programımızda ihtiyaç olduğu yerde metotları çağırarak işlemleri gerçekleştiriyorduk.
Fakat bazen bizim metodu çağırmamıza gerek kalmadan, bir sınıftan nesne oluşturduğumuz anda bazı işlemlerin yerine getirilmiş halde olmasını isteyebiliriz. Neden böyle bir şeye ihtiyaç duyarız, çünkü ilerde yazacağımız karmaşık kodlarda ve büyük çaplı bir projede bu tür durumlar kaçınılmazdır. Bazen fazla koddan kurtulmak, bazen de mecbur kalmaktan dolayı bu şekilde metotlara ihtiyaç duyarız.
Bu durumda imdadımıza koşan metot: Yapılandırıcı Metot!
Yapılandırıcı metotlar nesne oluşturduğumuz anda çalıştırılan metotlardır. Herhangi bir geri dönüş tipi yoktur. Evet, ilginç ama void tipinde dahi bir geri dönüşü yoktur. Bir yapılandırıcının yaptığı iş, bir nesneyi ilk kullanıma hazırlamaktır.
Yapılandırıcı metotları şu şekilde özetleyebiliriz:
· Yapılandırıcıların erişim belirteci mutlaka ama mutlaka public olmalıdır.
· Yapılandırıcıların adı sınıfın adıyla aynı olmalıdır.
· Yapılandırıcı metot çağrılırken new anahtar sözcüğü kullanılır.
· Yapılandırıcılar bellekte nesneye bir yer ayrılmasını sağlarlar.
· Yapılandırıcılar her çağrılışlarında yeni bir nesne oluştururlar.
Yapılandırıcıları daha iyi anlamak için bir örnek üzerinde inceleyelim:
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 |
// Created by MuhammedTutar | 2014 class YapilandiriciMetot { int ycap; double cevre; double alan; final static double pi = 3.14; void bilgileriYaz(YapilandiriciMetot d) { System.out.println("Dairenin Yarıçapı : " + d.ycap); System.out.println("Dairenin Alanı : " + d.alan); System.out.println("Dairenin Cevresi : " + d.cevre); System.out.println(); } public YapilandiriciMetot(int r) { ycap = r; alan = pi * r * r; cevre = 2 * pi * r; } public static void main(String args[]) { YapilandiriciMetot d1 = new YapilandiriciMetot(3); d1.bilgileriYaz(d1); YapilandiriciMetot d2 = new YapilandiriciMetot(11); d1.bilgileriYaz(d2); } } |
Dikkat ettiyseniz aynı değişkenleri ekrana yazdırıyoruz fakat farklı sonuçlar alıyoruz. Çünkü yapılandırıcı metotlar her nesne için ayrı ayrı sonuçlar saklar. Yukarıdaki maddelerde de belirttiğimiz üzere her çağırıldıklarında yeni bir nesne oluştururlar. Bu sebeple değişkenlerin değerlerinde herhangi bir çakışma söz konusu olmaz.
Böylece Java’da Yapılandırıcı’ların temel anlamda ne ifade ettiğini ve nasıl kullanıldığını görmüş olduk. Önümüzdeki yazıda Metodları Aşırı Yükleme (OVERLOADING) konusunu ele alacağız.
[…] önceki yazımız Java’da Yapılandırıcılar (Constructors) konusunda yapıcı metotları incelemiştik. Bu yazımızda ise metotları aşırı yükleme, yani […]
selamlar, örneğin 10. satırdaki fonksiyon public static void bilgileriYaz şeklinde olsaydı neler değişecekti. static konusunu anlattığınız yeri de okudum fakat burada da bunu acıklarsanız daha anlasılır olabilir, en azından benim için, teşekkürler 🙂
Java dersleri devam edicek mi
kimin arkadaşı