Kapsülleme Java

Kapsülleme Nedir? Java?

Kapsülleme Java değişkenleri(veri) ve yöntemleri(kod) tek bir birim olarak bir araya getirmek için bir mekanizmadır. Bilgi ayrıntılarını gizleme ve nesnenin verilerini ve davranışını koruma sürecidir. Dört önemli OOP konseptinden biridir. Encapsulate sınıfının test edilmesi kolaydır, bu nedenle birim testi için de daha iyidir.

Tıkla okuyun videoya erişilemiyorsa

Kapsüllemeyi öğrenin Java Örnek ile

Kapsüllemenin ne olduğunu ayrıntılı olarak anlamak için aşağıdaki banka hesap sınıfını, para yatırma ve bakiye gösterme yöntemleriyle ele alalım

class Account {
    private int account_number;
    private int account_balance;

    public void show Data() {
        //code to show data 
    }

    public void deposit(int a) {
        if (a < 0) {
            //show error 
        } else
            account_balance = account_balance + a;
    }
}

Bir hacker'ın banka hesabınızın koduna erişmeyi başardığını varsayalım. Şimdi, hesabınıza iki şekilde -100 miktarı yatırmaya çalışıyor. İlk yöntemine veya yaklaşımına bakalım.

Yaklaşım 1: Kodu manipüle ederek banka hesabınıza geçersiz bir miktar (örneğin -100) yatırmaya çalışır.

Kapsülleme Java

Şimdi soru şu: Bu mümkün mü? Araştıralım. Genellikle, bir sınıftaki bir değişken aşağıda gösterildiği gibi "private" olarak ayarlanır. Yalnızca sınıfta tanımlanan yöntemlerle erişilebilir. Başka hiçbir sınıf veya nesne bunlara erişemez.

Kapsülleme Java

Bir veri üyesi özel ise, bu yalnızca aynı sınıf içinde erişilebileceği anlamına gelir. Hiçbir dış sınıf, diğer sınıfın özel veri üyesine veya değişkenine erişemez. Bu nedenle bizim durumumuzda hacker hesabınıza -100 tutarında para yatıramaz.

Kapsülleme Java

Yaklaşım 2: Hacker'ın ilk yaklaşımı miktarı yatırmada başarısız oldu. Daha sonra "deposit" yöntemini kullanarak -100 miktarında bir para yatırmayı denedi.

Kapsülleme Java

Ancak yöntem uygulamasının negatif değerler için bir kontrolü vardır. Dolayısıyla ikinci yaklaşım da başarısız oluyor.

Kapsülleme Java

Böylece verilerinizi hiçbir zaman harici bir tarafa ifşa etmezsiniz. Bu da uygulamanızı güvenli kılar.

Kapsülleme Java

Tüm kod bir kapsül olarak düşünülebilir ve yalnızca mesajlar aracılığıyla iletişim kurabilirsiniz. Bu nedenle adı kapsüllemedir.

Veri Gizleniyor Java

Veri Gizleniyor Java bir sınıfın değişkenlerini diğer sınıflardan gizler. Yalnızca geçerli sınıflarının yöntemi aracılığıyla erişilebilir. Uygulama ayrıntılarını kullanıcılardan gizler. Ancak veri gizlemekten daha fazlası, ilgili verilerin daha iyi yönetimi veya gruplandırılması içindir. Daha az derecede kapsülleme elde etmek için Java, "protected" veya "public" gibi değiştiriciler kullanabilirsiniz. Kapsülleme ile geliştiriciler, diğerini etkilemeden kodun bir bölümünü kolayca değiştirebilirler.

Alıcı ve Ayarlayıcı Java

Alıcı ve Ayarlayıcı Java Bir değişkenin değerlerini almak ve güncellemek için kullanılan iki geleneksel yöntemdir. Esas olarak değişken değerlerini oluşturmak, değiştirmek, silmek ve görüntülemek için kullanılırlar. Ayarlayıcı yöntemi değerleri güncellemek için kullanılır ve alıcı yöntemi değerleri okumak veya almak için kullanılır. Erişimci ve değiştirici olarak da bilinirler.

Aşağıdaki kod getter ve setter metotlarına bir örnektir:

class Account{ 
private int account_number;
private int account_balance; 
    // getter method
	public int getBalance() {
        return this.account_balance;
    }
    // setter method
	public void setNumber(int num) {
        this.account_number = num;
    }
}

Yukarıdaki örnekte getBalance() yöntemi, account_balance değişkeninin değerini okuyan getter yöntemidir ve setNumber() yöntemi, account_number değişkeninin değerini ayarlayan veya güncelleyen ayarlayıcı yöntemdir.

Soyutlama ve Kapsülleme

Çoğu zaman kapsülleme yanlış anlaşılır Soyutlama. Hadi çalışalım-

  • Kapsülleme daha çok bir işlevselliğe "Nasıl" ulaşılacağıyla ilgilidir
  • Soyutlama daha çok bir sınıfın “Ne” yapabileceğiyle ilgilidir.

Bu farkı anlamak için basit bir örnek cep telefonudur. Devre kartındaki karmaşık mantık bir dokunmatik ekranda kapsüllenmiştir ve onu soyutlamak için arayüz sağlanmıştır.

Kapsüllemenin Avantajları Java

  • Kapsülleme, verileri ilgili işlevleriyle bağlar. Burada işlevsellikler “yöntemler”, veriler ise “değişkenler” anlamına gelir
  • Böylece değişkenleri ve yöntemleri tek bir yerde tutuyoruz. Orası “sınıf”tır. Sınıf kapsüllemenin temelidir.
  • İle Java Kapsülleme, kodunuzdaki kritik veri üyelerini gizleyebilir (erişimi kısıtlayabilirsiniz), bu da güvenliği artırır
  • Daha önce tartıştığımız gibi, bir veri üyesi "private" olarak bildirilirse, o zaman yalnızca aynı sınıf içinde erişilebilir. Hiçbir dış sınıf diğer sınıfın veri üyesine (değişkenine) erişemez.
  • Ancak bu değişkenlere erişmeniz gerekiyorsa şunu kullanmanız gerekir: kamusal “alıcı” ve “ayarlayıcı” yöntemleri.

Bu yazıyı şu şekilde özetleyin: