Archive

Posts Tagged ‘this’

Java’da Gizli (Implicit) ve Açık (Explicit) Parametreler

Ekim 18th, 2011 No comments

Programlama dillerinde bir işlev, fonksiyon veya yöntem (metod) çağırırken veri geçişi için parametreler kullanılır. Java dilinde de aynı şey geçerlidir. Aşağıdaki gibi bir yöntemimiz olduğunu düşünürsek;

public void maasArtir(double oran) {
	maas += maas * oran/100;
}

yukarıdaki yöntem parametre olarak double türünde bir değer almakta ve nesne değişkeni olan “maaşı” artırmaktadır. Parametre olan “oran” değişkeni yöntemin imzasında açıkça tanımlandığı için açık (explicit) parametredir. Buraya kadar ilginç birşey yok, bildiğimiz şeyler. Şimdi bu yöntemin Personel isimli bir sınıf içerisinde tanımlı olduğunu düşünelim ve Personel sınıfından yarattığımız personel1 adında bir nesnemiz olsun.

Personel personel1 = new Personel();

Daha sonra personel1 nesnesi üzerinden maasArtir yöntemini çağıralım.

personel1.maasArtir(20);

Bu koda göre personel1 nesnesine ait olan “maas” değişkeni %20 oranında artacaktır. “oran” parametre değişkeni açık parametre ise yazının başlığında belirttiğimiz gizli parametre nerededir? Java dilinde yöntem çağırırken kullandığımız nesne referansı da yönteme parametre olarak gönderilmektedir. Yani nesne referansımız olan personel1, maasArtir yöntemi için gizli (implicit) parametredir. Diğer bir deyişle yöntemi çağırmak için kullandığımız referans, aynı zamanda gizli parametredir. Gizli parametre yöntemin imzasında tanımlanmaz, gizli olması da zaten bu yüzdendir.

Peki, açık parametre olan “oran” değişkenine yöntem içerisinde direk adıyla erişebiliyorsak, gizli parametreye nasıl erişeceğiz? Bunun için de this anahtar kelimesi kullanılmaktadır. Yöntem içerisinde nesne değişkenlerine erişmek istediğimizde this kelimesini kullanabiliriz. Yani en yukarıda yazdığımız yöntemi aşağıdaki gibi de yazabiliriz.

public void maasArtir(double oran) {
	this.maas += this.maas * oran/100;
}

Yukarıdaki gibi bir kullanımda this anahtar kelimesi ile gizli parametreye erişmiş oluyoruz ve böylece personel1 nesnesinin maaş bilgisine erişiyoruz. Biz maas değişkeninin önüne this yazmasak bile bu kelime otomatik olarak eklenmektedir. Bu şekilde açıkça “this” yazmak, programın okunabilirliğini artırmak ve nesne değişkenleri ile yerel değişkenleri bir bakışta ayırt etmek için faydalı olabilir.

Categories: Java Tags: ,

Java’da this Anahtar Kelimesi ve Kullanımı

Haziran 18th, 2011 15 comments

Java dilinde kullanılan anahtar kelimelerden birisi de “this” kelimesidir. Kullanım alanı çok fazla olmasa da this anahtar kelimesinin ne işe yaradığını ve ne amaçlarla kullanıldığını öğrenmekte fayda var.  Basit olarak söylemek gerekirse this anahtar kelimesi o anda hangi nesne üzerinde işlem yapılıyorsa o nesnenin referansını döndürür. Şimdi bu anahtar kelime ile neler yapılabileceğine bakalım.

Devamını Oku…

Categories: Java Tags: , ,
%d blogcu bunu beğendi: