Merhaba arkadaşlar,
Bu yazımzıda Get ve Set komutlarını kullanarak nasıl işlem yaparız , get set komutları ne işe yarar onlardan bahsedeceğiz.
Get Set komutlarını ele aldığımızda özelliklerine bakacak olursak;
Bir nesnenin üye değişkenlerine değer atarken ya da içerisindeki değeri kullanırken belirli kontrollerin yapılması gerekiyorsa ya da kod bloklarının çalıştırılması isteniyorsa set ve get ifadeleri kullanılır.
SET ifadesi nesnenin özelliklerine değer atandığında çalışır.
GET ifadesi ise özellik değeri okunduğunda ya da farklı bir ifadeye aktarılmaya çalıştığında çalışır.
Get Ve Set ifadesini kullanmamızın temel amacı A sınıfındaki private erişim tipi olan değişkene B sınıfından erişmeye çalışırken kullanmamızdır.
Get ve Set ifadesini kullandığımız metodun Parametresiz ve Parametre Parantezi içermeyen olması zorunludur.
Geçelim kodlama kısmına.
Öncelikle iki farklı sınıfımız olduğunu varsayalım ve Main fonksiyonumuzun bulunduğu sınıftan diğer sınıfımıza erişeceğiz.Erişeceğimiz sınıf bu şekilde olsun;
class Dikdortgen { }
Ve bu sınıfmızın içinde iki adet private değişkenimiz olsun.
class Dikdortgen { private int kisaKenar; private int uzunKenar; }
Daha sonra uzun ve kısa kenar için birer get-set fonksiyonu yazalım.
class Dikdortgen { private int kisaKenar; private int uzunKenar; public int kisaKenarAyarla { get { return kisaKenar; } set { kisaKenar=value; } } }
Bu şekilde kısa kenar ayarla isimli fonksiyonumuz ile bir get-set fonksiyonu oluşturduk. GET kısmında fonksiyon herhangi atama işlemi yapılmadan veri okumak için çağrıldığında çalışacak, SET kısmı ise değer atama veya aktarma yaparken kullanılacak. Buna bakarak, aynı sınıfın içinde olmak şartıyla yazalım.
public int uzunKenarAyarla { get { return uzunKenar; } set { uzunKenar=value; } }
Peki ya tüm bunları yaptıktan sonra bunu main sınıfımızda nasıl çağıracağız. Şimdi Main metodumuz AnaProgram sınıfında bulunduğunu varsayalım.
class AnaProgram { static void Main(string[] args) { Diktorgen dd = new Dikdortgen();//Referans tanımlaması yapıyoruz. dd.uzunKenarAyarla=5;//Bu çağırım şekli ile SET başlığı çalışır. Console.Write(dd.uzunKenarAyarla.ToString());//Bu çağırım şekli ile GET başlığı çalışır. } }
Anlamadığınız, konu hakkında hata aldığınız yerleri bu başlık altında sorabilirsiniz.
merhaba get ve set metoldarını çok iyi anlatmışsınız çok teşekkürler peki get ve set metodu aynı sınıfta ama private olan değerler için kullanılır mı
Merhaba,
Amacımız zaten burada encapsulation yapmak olduğu için private erişim belirleyicisi olan değerler için kullanmak. Başka bir sınıf içinden erişemeyeceğimiz değerleri get-set metodu kullanarak erişebiliyoruz. Aynı sınıf içerisinde oluşan nesne ve özellikler private erişim belirleyicisi ile zaten birbirine erişebilir durumdadır.
Merhabalar,
Ben burada “value” kısmını anlayamadım. Bu “value” yerine herhangi bir sayı verebilirmiydik.
Bu value denen kısım, set olarak atandığında gelecek olan değer. Yani ilgili metoda bir atama yapıldığında atanan değer value isimli yapı ile işlenir.
Bu java ile yazımı değil mi ?
C# ile yazılmış bir kod lakin çok küçük oynamalar ile Java’ya çevirmeniz mümkün.