OOP (NYP) kavramında bir sınıfı yazdığınız zaman kullanırken new diyerek sınıfın bir örneğini hafızada yaratmanız gerekiyor. Yani bir oyun yazıyoruz sağda solda binalar var Bina diye de sınıfımız var diye düşünelim. Bir binayı hafızada yaratabilmek için new Bina() dememiz gerekiyor. Aslında buraya kadar bilinen birşey, programlama tecrübesi biraz olan arkadaşlar bunun normal işlem olduğunu bilecektir. Burda biryere dikkat çekmek istiyorum. Bina() derken Bina kelimesinin sonunda bir parantez aç/kapa var. Java’da ya da C tabanlı dillerde parantez koyulan yerde ne oluyordu? Bir fonksiyon/metod çağrılıyor. ama biz hiç bir fonksiyon adı vermedik. Constractor/kurucu dediğimiz fonksionlar tam burada işimize yarıyor. Mesela binayı kurarken birileri istemeden daha kurmamız gereken şeyler var diye düşünelim. Mesela; bina kurulurken daha haritadaki koordinatları belirlenecek ya da elektrik/su tesisatları için bir alt yapı kurulacak. Bu işlemleri nasıl yapabiliriz? Bir örnek direk kurucu metodumuzun içine alabiliriz. Başka yöntemler de bulunabilir, ama ben kurucu içinden ilerliyorum.
Yani bu kısmı toparlarsak new dediğimiz anda sınıf yaratılırken yürütülmesi gereken işlemleri yazdığımız metodlar oluyorlar.
Bu metodlar parametre alabilir, almayada bilir tercihe bırakılmış. Bu metodların geri dönüş değeri olmaz. Örnek verelim.
public class Bina() { public Bina() { System.out.println(“İlk çağrılan metod”); }
public Bina(int yukseklik) { System.out.println(“Binanın Yüksekliği ” + yukseklik); }
public static void main(String… args){ Bina b1 = new Bina(); Bina b2 = new Bina(100); } }
Bu kodu çalıştırırsanız sonucu göreceksiniz. Dikkat etmemiz gereken kısım new Bina demek haricinde bir metod çağırmıyoruz ama yazdığımız kodlar çalışıyor. Zaten amacımız da bu. Sınıf daha yaratılırken yapılmasını istediğimiz şeyleri belirtmek.
Constractor Türkçesi inşaatçı.
OOP (NYP) kavramında bir sınıfı yazdığınız zaman kullanırken new diyerek sınıfın bir örneğini hafızada yaratmanız gerekiyor. Yani bir oyun yazıyoruz sağda solda binalar var Bina diye de sınıfımız var diye düşünelim. Bir binayı hafızada yaratabilmek için new Bina() dememiz gerekiyor. Aslında buraya kadar bilinen birşey, programlama tecrübesi biraz olan arkadaşlar bunun normal işlem olduğunu bilecektir. Burda biryere dikkat çekmek istiyorum. Bina() derken Bina kelimesinin sonunda bir parantez aç/kapa var. Java’da ya da C tabanlı dillerde parantez koyulan yerde ne oluyordu? Bir fonksiyon/metod çağrılıyor. ama biz hiç bir fonksiyon adı vermedik. Constractor/kurucu dediğimiz fonksionlar tam burada işimize yarıyor. Mesela binayı kurarken birileri istemeden daha kurmamız gereken şeyler var diye düşünelim. Mesela; bina kurulurken daha haritadaki koordinatları belirlenecek ya da elektrik/su tesisatları için bir alt yapı kurulacak. Bu işlemleri nasıl yapabiliriz? Bir örnek direk kurucu metodumuzun içine alabiliriz. Başka yöntemler de bulunabilir, ama ben kurucu içinden ilerliyorum.
Yani bu kısmı toparlarsak new dediğimiz anda sınıf yaratılırken yürütülmesi gereken işlemleri yazdığımız metodlar oluyorlar.
Bu metodlar parametre alabilir, almayada bilir tercihe bırakılmış. Bu metodların geri dönüş değeri olmaz. Örnek verelim.
Bu kodu çalıştırırsanız sonucu göreceksiniz. Dikkat etmemiz gereken kısım new Bina demek haricinde bir metod çağırmıyoruz ama yazdığımız kodlar çalışıyor. Zaten amacımız da bu. Sınıf daha yaratılırken yapılmasını istediğimiz şeyleri belirtmek.