0

Java Eğitimleri 40 – Encapsulation(Kapsülleme)

 

          Merhabalar. Bu yazımızda encapsulation yani kapsülleme işlemini anlatacağız ve avantajlarını hep birlikte bir örnek yardımıyla ele alacağız.

          Encapsulation;  bir sınıfın özelliklerini, diğer bir sınıfa gizlemek için kullanılır. Bunu sağlamak için de değişkenlerden faydalanılır: private gibi. Public ve private gibi değişkenlerin detaylarını erişim belirleyicileri konusunda öğrenmiştik. Tüm bu değişkenler aslında encapsulation işlemini de sağlamaktadır.

 

Encapsulation işlemini kullanmak bize avantaj sağlamaktadır:

  • Constructor(yapılandırıcı) kullanarak, daha önce tanımlamış olduğumuz değişkenleri unutmamızı engeller.
  • Yanlış değişken değerleri kullanmamıza izin vermez. (Örnekte ayrıntılı olarak inceleyeceğiz)
  • Değişken ismini değiştirdiğimizde, kodlarda hata yapmamızı engeller.

 

Bu avantajları bir örnek çerçevesinde inceleyelim.

Örneğin, ATM’ye para çekmek için gidiyoruz. Ancak çekmek istediğimiz tutar, ATM’deki tutardan daha fazla. Bu problemi console kısmına yazdırarak kullanıcının bilgilendirilmesini sağlamak istiyoruz.

 

Öncelikle bu işlemi public kullanarak yapacağız. Bu nedenle burada 2 sınıf kullanacağız: Banka ve Yazdir.

 

Banka sınıfındaki kodlarımız:

 

 

Yazdir adlı sınıftaki kodlarımız:

 

 

Burada ATM’deki bakiyemizi 3000 TL olarak, kart bakiyemizi de 3000 TL olarak belirledik. Ancak çekmek istediğimiz para 3050 TL. Yani hem kart bakiyemizden fazla hem de ATM’deki çekilebilecek miktardan fazla. Buradaki çıktımız:

 

Eğer burada ATM bakiyesini kodlama satırında değiştirip, tekrar çalıştıracak olursak çıktımız yine aynı olacaktır.

Şimdi de aynı kodları private kullanıp oluşturalım. Yine 2 sınıf oluşturuyoruz: GelismisBanka ve Yazdir.

 

GelismisBanka adlı sınıfımız:

 

 

Yazdir adlı sınıfımız:

 

 

 

Bu kodlara göre ATM bakiyesini 3000 TL, kart bakiyesini 5000 TL ve çekilecek tutarı 4000 TL olarak belirlediğimizde ise çıktımız:

Çekilecek tutarı 6000 TL olarak belirlediğimizde ise çıktımız:

         Private olarak tanımladığımız değişkenlerin değerini değiştirdiğimizde, ATM bakiyesini baz alarak çıktıyı verecektir.  Ancak public olarak tanımlandığında sadece bakiyeyi baz alarak çıktı oluşturacaktır. İşte, private tanımının avantajlarından biri de budur.

         Public olarak tanımladığımız değişken isimlerini değiştirdiğimizde, tüm sınıflardaki ismini değiştirmemiz gerekir. Ancak private olarak tanımlanan değişkenlerde böyle bir zorunluluk yoktur, sadece tanımlanan sayfadaki isimlerini değiştirmek gerekir.

         Encapsulation işlemi ve avantajları bu şekilde özetlenebilir. Kısa kodlu projelerde kullanılması çok gerekmeyebilir ancak uzun kodlu işlemlerde, büyük hataları engelleyebilmektedir.

         Java ile alakalı tüm sorularınız için bana nsezer@industryolog.com mail adresimden ulaşabilirsiniz. Sorular ve daha fazlası için de web adresime bakabilirsiniz. İyi çalışmalar 🙂

 


Like it? Share with your friends!

0

0 Comments

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir