You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3 Son olarak da GenelSinif.java dosyasını çalıştıralım:<br />
java GenelSinif<br />
Not: Burada görüyoruz ki "DegiskenTutan.java" dosyası sadece derleniyor ancak GenelSinif.java gibi sonra da<br />
çalıştırılmıyor. Bunun nedeni asıl çalışan programın "GenelSinif" olması "DegiskenTutan" sınıfının ise sadece<br />
kullanılıyor olmasıdır. Çünkü "GenelSinif" sınıfı içerisinde "main" metodu vardır. Bununla ilgili ayrıntılı açıklamayı<br />
yazının ilerleyen kısımlarında zaten bulabileceksiniz.<br />
Örneğimizde 7. ve 8. satırlarda DegiskenTutan sınıfı türünden "a" ve "b" isimli 2 değişken ya da iki<br />
"DegiskenTutan" sınıfı nesnesi yaratılmaktadır. Daha sonra 9. satırda a nesnesinin "setX" metodu "a" nesnesinin "x"<br />
değişkeni değerini 10, "b" nesnesinin "setX" metodu da "b" nesnesinin "x" değişkeninin değerini 20 yapmaktadır.<br />
Dikkat ederseniz "a" ve "b" nesneleri de "setX" ve "getX" metodlarına sahiptir ve bu metodları kullanmak için nesne<br />
adından sonra "." işareti ve sonra da metod adını yazmak gerekir. "a" ve "b" nesnelerinin tıpkı "DegiskenTutan"<br />
sınıfı gibi metodlara ve değişkenlere sahip olmalarının nedeni, bu nesnelerin de yaratılırken "DegiskenTutan" sınıfı<br />
türünden yaratılmış olmalarıdır.<br />
12. ve 13. satırlarda hazırlanan "message" isimli String değişkeni içerisine ekranda görülecek yazı ve "getX"<br />
metodları yardımıyla "a" ve "b" nesnelerinin "x" değişkenlerinin içerisindeki değerler hazırlanmaktadır. En son olarak<br />
da "message" isimli değişken içerisinde hazırlanan bu son görüntü "JoptionPane" isimli sınıfın "showMessageDialog"<br />
isimli metodu yardımıyla ekrana gönderilmektedir.<br />
Bu örnekten çıkaracağımız sonuç şudur; Genel olarak yazılmış sınıfların kullanılabilmesi için öncelikle bu sınıflar<br />
türünden değişkenler yaratılarak bu sınıfların birer kopyası ya da nesnesi çıkarılmalı ve sınıfa ait değişken ve<br />
metodlar bu nesneler aracılığıyla kullanılmalıdır. Ayrıca gördüğümüz gibi bir sınıfa ait metodlar kullanılırken sınıf<br />
nesnesinden sonra "." işareti ve daha sonra da metodun adı yazılmaktadır.<br />
Bu örneğimizde "a" ve "b" isimli sınıf nesneleri yaratıldıktan sonra, sahip oldukları "x" değişkenlerine "setX" metodu<br />
ile değerler verilmektedir. Peki eğer biz daha nesneyi yaratorken hemen o anda "x" değişkenine değer vermek<br />
istersek ne olacak? Bunun için "başlangıç metodu" kavramını bilmemiz gerekir.<br />
Sınıfların Başlangıç Metodları (Constructors):<br />
Sınıfların başlangıç metodları bizim bildiğimiz anlamda metodlardan biraz daha farklıdır. Bu metodların en önemli<br />
özelliği, bir sınıf nesnesi yaratılırken otomatik olarak çağrılmalarıdır. Mesela "DegiskenTutan" sınıfı türünden bir<br />
nesne yaratılırken aslında "new" anahtar sözcüğünden sonra bir metod çağrıldığını görmekteyiz:<br />
DegiskenTutan a = new DegiskenTutan();<br />
İşte bu "DegiskenTutan()" isimli metod, "DegiskenTutan" isimli sınıfın başlangıç metodudur. Peki o zaman başlangıç<br />
metodlarının normal metodlardan farkı nedir?<br />
1 Başlangıç metodları kesinlikle ve kesinlikle sınıf ismiyle aynı olmak zorundadır. Eğer başlangıç metodunun ismini<br />
verirken sınıf isminden farklı bir isim kullanırsanız bu metod artık başka bir metod olarak kabul edilir. Örneğin:<br />
DegiskenTut<br />
-> Yanlış. Sınıf ismi DegiskenTutan o halde başlangıç metodunun ismi bu olamaz<br />
Degiskentutan -> Yanlış. Sınıf isminde T harfi de büyük. İsim, büyük küçük harf bazınbda da aynı olmak<br />
zorundad?r.<br />
2 Başlangıç metodları geri dönüş değerine sahip değildir. Yalnız burada geri dönüş değeri void demek<br />
istemiyorum. Başlangıç metodlarının geri dönüş değeri gibi bir kavramları yoktur. void ile yok başka anlamlara<br />
gelir.<br />
3 Bir sınıfın birden fazla başlangıç metodu olabilir. Bütün başlangıç metodları da sınıf ismiyle aynı olmak<br />
zorundadır ancak her birinin parametreleri birbirlerinden farklı olmak zorundadır.<br />
46