Java

Java’da Yapılandırıcılar (Constructors)

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:

// 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);            
    }
}

Bu örnekte gördüğümüz üzere yapılandırı metotumuzu daha nesneyi oluştururken kullanmış olduk. new anahtar sözcüğüyle birlikte verdiğimiz değerler, gerekli işlemler yapılarak yapılandırıcı metot içerisindeki değişkenlere atandı. Bu değişkenleri de ekrana yazdık.

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.

3 Yorum

Dilara Olcay için bir yanıt yazın X