Java’da Constructorlar (Yapıcı Metotlar)

2772
görünümler

Bir önceki yazımızda classların içinde metotların oluşturulması ve özelliklerin private veya public olmasının farklarını öğrendik. Bu dersimizde ise constructorları göreceğiz.

Constructor Nedir?

OOP da bir nesnenin oluşturulması sırasında ilk çalışan fonksiyonun ismidir.

Örnek üzerinden anlamaya çalışalım;

Account isminde bir class oluşturuyoruz ve alanlarını özelliklerini ekliyoruz. Ekledikten sonra getter ve setter metotlarını kısa yol ile oluşturuyoruz. Bunlara ek olarak 2 tane daha Para çekme ve para yatırma fonksiyonlarını yazıyoruz.

Sonrasında main metodumuz içerisine Account objesini oluşturuyoruz.

account referansımız ile her bir özelliğin değerini giriyoruz. Ancak bir obje oluşturduğumuzda bütün alanlara tek tek özellik vermek çok uğraştırıcı gelebilir.

Biz objemizi oluşturduğumuzda bu değerleri direk olarak verebilir miyiz?

Evet verebiliriz. Böyle bir metodumuz var. Bunlara constructor (yapıcı metotlar) denir. Yani biz bir obje oluşturduğumuzda bu değerleri direk olarak girebiliriz. Constructor ımız bütün özelliklere tek tek değerleri vermiş oluyor.

Örnekle anlamaya çalışalım;

Biz herhangi bir constructor yazmazsak java default olarak bir constructor yazıyor. Ancak biz kendi constructorlarımızı yazıp içine değerler gönderip obje oluşturulurken o özelliklerin eşitlenmesini isteyebiliriz.

Account classımızın içinde bir constructor yazıyoruz. Constructorlarımız bizim özel metotlarımız aslında. Yazım biçimi aşağıdaki gibidir. Constructor yazacağımız zaman önüne public ve classımızın adını ne ise aynısını yazıyoruz.

ismini class ın ismi ile aynı belirlemek çok önemli. Aynı yazmazsak bu bir constructor olmayacak. Yani otomatik olarak çağrılmayacak.

Zaten java default olarak kendisi bir constructor atamıştı. Ancak yukarıdaki gibi yaparsak javaya bizim kendi constructorımızın olduğunu senin default olarak oluşturmana gerek kalmadığını söylemiş oluyoruz.

Main metodumuz içerisinde bu şekilde yazıp çalıştırdığımızda constructor metodumuzun değeri ekrana yazıldı.

Peki bunun içine değer vererek obje oluşturabilir miyiz?

Evet. Yeniden bir constructor oluşturup alması gereken değerleri yazıyoruz.

Account adında class ismi ile aynı yeni bir constructor oluşturduk. Ve alandaki özellikleri parantez içine yazdık.

5 tane değerli obje oluşturduğumuzda bu constructorımız çağrılmış olacak. Tekrardan main metodumuz içine geliyoruz ve yeni bir obje oluşturuyoruz.

Classlarımızı constructor sayesinde çok daha efektif olarak yazabiliyoruz. Yukarıdaki örnekte olduğu gibi metotları tekrardan kullanmaya gerek kalmadan direk ilk başta objelerimizi oluştururken objelerimizin özelliklerini , değerini burada verebiliyoruz.

Bir sonraki yazımızda constructorların farklı özelliklerini göreceğiz. Sonraki derse geçmek için tıklayınız.

 

1 Yorum

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz