Java - Kapsülleme

Encapsulationdört temel OOP kavramından biridir. Diğer üçü kalıtım, çok biçimlilik ve soyutlamadır.

Java'da kapsülleme, verileri (değişkenleri) ve verileri (yöntemleri) tek bir birim olarak birlikte hareket eden kodu sarma mekanizmasıdır. Kapsüllemede, bir sınıfın değişkenleri diğer sınıflardan gizlenir ve bunlara yalnızca mevcut sınıflarının yöntemleri aracılığıyla erişilebilir. Bu nedenle, aynı zamandadata hiding.

Java'da kapsülleme elde etmek için -

  • Bir sınıfın değişkenlerini özel olarak bildirin.

  • Değişken değerlerini değiştirmek ve görüntülemek için genel ayarlayıcı ve alıcı yöntemleri sağlayın.

Misal

Aşağıda, Java'da Encapsulation'a nasıl ulaşılacağını gösteren bir örnek verilmiştir -

/* File name : EncapTest.java */
public class EncapTest {
   private String name;
   private String idNum;
   private int age;

   public int getAge() {
      return age;
   }

   public String getName() {
      return name;
   }

   public String getIdNum() {
      return idNum;
   }

   public void setAge( int newAge) {
      age = newAge;
   }

   public void setName(String newName) {
      name = newName;
   }

   public void setIdNum( String newId) {
      idNum = newId;
   }
}

Genel setXXX () ve getXXX () yöntemleri, EncapTest sınıfının örnek değişkenlerinin erişim noktalarıdır. Normalde bu yöntemlere alıcılar ve ayarlayıcılar denir. Bu nedenle, değişkenlere erişmek isteyen herhangi bir sınıf, bunlara bu alıcılar ve ayarlayıcılar aracılığıyla erişmelidir.

EncapTest sınıfının değişkenlerine aşağıdaki program kullanılarak erişilebilir -

/* File name : RunEncap.java */
public class RunEncap {

   public static void main(String args[]) {
      EncapTest encap = new EncapTest();
      encap.setName("James");
      encap.setAge(20);
      encap.setIdNum("12343ms");

      System.out.print("Name : " + encap.getName() + " Age : " + encap.getAge());
   }
}

Bu, aşağıdaki sonucu verecektir -

Çıktı

Name : James Age : 20

Kapsüllemenin Faydaları

  • Bir sınıfın alanları salt okunur veya salt okunur hale getirilebilir.

  • Bir sınıf, alanlarında depolananlar üzerinde tam kontrole sahip olabilir.