encapsulation java
gmail için en iyi e-posta izleme yazılımı
Örneklerle Java'da Kapsülleme hakkında bilgi edinin, neden buna ihtiyacımız olduğunu, ilgili alıcı ve ayarlayıcı yöntemlerini öğrenin:
Bu eğitimde, başka bir OOP konseptini tartışacağız - 'Kapsülleme'. OOP'nin, soyutlama, kapsülleme, polimorfizm ve kalıtım olmak üzere dört sütunu vardır.
Soyutlama, yalnızca ilgili ayrıntıları son kullanıcıya göstermek için kullanılırken, kapsülleme esas olarak veri güvenliğiyle ilgilenir. Veri güvenliğini sağlamada, kapsülleme, erişim değiştiricileri belirleyerek veri üyelerini istenmeyen erişimden korur ve ayrıca verileri tek bir birimde paketler.
=> Mükemmel Java Eğitim Kılavuzuna Buradan Bakabilirsiniz.
Peki Java'da Encapsulation'ı nasıl tanımlayabiliriz?
Enkapsülasyonun Tanımı
'Java'da kapsülleme, bu veriler üzerinde çalışan verilerin ve yöntemlerin tek bir birim oluşturacak şekilde sarmalandığı bir mekanizma olarak tanımlanabilir.'
Ne öğreneceksin:
Java'da Kapsülleme Nedir
Kapsüllemeyi kullanarak, sınıf veri üyelerini (değişkenleri) diğer sınıflardan da gizleyebiliriz. Bu veri üyesi değişkenlerine, bildirildikleri sınıfın yöntemleri kullanılarak dolaylı olarak erişilebilir. Yöntemlere sırayla o sınıfın nesnesi kullanılarak erişilir.
Dolayısıyla, yukarıdaki tanımdan çıkardığımız sonuç, veri üye değişkenlerini bir sınıfın içinde gizlediğimiz ve ayrıca erişim değiştiricilerini diğer sınıflar tarafından erişilebilir olmayacak şekilde belirlediğimizdir.
Bu nedenle, kapsülleme aynı zamanda bir tür 'veri gizleme' dir, ancak öğreticinin sonraki bölümlerinde kapsüllemenin veri gizleme ile aynı olmadığını göreceğiz.
Yukarıdaki şekil, bu veriler üzerinde çalışan verileri ve yöntemleri tek bir birimde toplayan bir kapsülleme birimi olan bir sınıfı temsil etmektedir.
Kapsülleme esas olarak verilerle ilgilendiğinden, alternatif olarak 'Veri kapsülleme' olarak adlandırılır.
Kapsüllemeyi tıbbi bir kapsül olarak görselleştirebiliriz. Hepimizin bildiği gibi, ilaç tıbbi bir kapsülün içine yerleştirilmiştir. Benzer şekilde, veri ve yöntemler, kapsülleme içinde tek bir birimde tutulur.
Böylelikle kapsülleme, verilerin etrafında koruyucu bir kalkan görevi görür ve verilerin dış dünyanın yetkisiz erişimini engeller. Başka bir deyişle, uygulamamızın hassas verilerini korur.
Java'da, kapsüllemeyi uygulamanın iki adımı vardır. Adımlar aşağıdadır:
- Sınıf üyesi değişkenlerini bildirmek için 'özel' erişim değiştiricisini kullanın.
- Bu özel üye değişkenlerine erişmek ve değerlerini değiştirmek için, sırasıyla genel alıcı ve ayarlayıcı yöntemlerini sağlamalıyız.
Şimdi Java'da kapsülleme örneğini uygulayalım.
Java Kapsülleme Örneği
//Student_Id and name bundled in a unit 'Student' => encapsulation class Student { private int Student_Id; private String name; //getters, setters for Student_Id and name fields. public int getId() { return Student_Id; } public void setId(int s_id) { this.Student_Id = s_id; } public String getname() { return name; } public void setname(String s_name) { this.name = s_name; } } class Main{ public static void main(String() args) { //create an object of Student class Student s=new Student(); //set fields values using setter methods s.setId (27); s.setname('Tom Lee'); //print values using getter methods System.out.println('Student Data:' + '
Student ID:' + s.getId() + ' Student Name:' + s.getname()); } }
Çıktı:
bağlantı noktası yönlendirme ve bağlantı noktası tetikleme arasındaki fark nedir
Yukarıdaki programda, kapsülleme birimi olan bir sınıf tanımlıyoruz. Bu sınıf Öğrenci, verileri (Öğrenci_Kimliği ve adı) ve bu üyelerin değerlerini okuma ve ayarlama yöntemlerini tek bir birimde bir araya getirdi.
Üye alanlarıyla ilişkili erişim değiştiricilere dikkat edin. Her iki üye alanı da özeldir, bu nedenle Öğrenci sınıfı dışında erişilemezler.
Bu alanların değerlerini okumak için alıcılar (getId ve getname) ve bu yöntemlerin değerlerini ayarlamak için ayarlayıcı yöntemler (setId ve setname) sağlıyoruz. Sahip oldukları tek erişim budur ve bu da Öğrenci sınıfı nesnesi kullanılarak yapılmalıdır.
Getter ve Setter Yöntemleri
Java'da kapsüllemeyi uygulamak için, sınıfın veri üyesi değişkenlerini özel yaparız. Artık bu özel değişkenlere, sınıf nesnesi dahil olmak üzere sınıf dışındaki hiçbir şey erişilemez.
Bu, aşağıdaki gibi bir ABC sınıfımız varsa anlamına gelir.
class ABC {
özel int yaş;
}
Aşağıdaki gibi ABC sınıfı bir nesne oluşturalım:
ABC abc = yeni ABC ();
abc.age = 21; // derleyici hatası
Dolayısıyla yukarıdaki kodda, sınıf nesnesini kullanarak özel değişkene erişmek bir derleyici hatasıyla sonuçlanacaktır.
Özel değişkenlere erişmek ve değerlerini okumak ve içlerinde yeni değerler ayarlamak için, bunu yapmanın bir yolunu bulmalıyız. Böylece Java, alıcı ve ayarlayıcı yöntemlerini kullanarak özel değişkenlere erişmenin bir yolunu sağlar.
Alıcı ve Ayarlayıcılar, özel değişkenlerin değerlerini oluşturmak, değiştirmek, silmek veya sadece görüntülemek için kullanabileceğimiz genel yöntemlerdir.
Aşağıdaki program Getter ve Setter yöntemlerinin bir örneğidir.
//Account class - private data members bundled with getters and setters class Account { //private data members private long acc_no; private String name,email; private float amount; //public getter and setter methods for each data member public long getAcc_no() { return acc_no; } public void setAcc_no(long acc_no) { this.acc_no = acc_no; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public float getAmount() { return amount; } public void setAmount(float amount) { this.amount = amount; } } public class Main { public static void main(String() args) { //create instance of Account class Account myAcc=new Account(); //set values for data members through setter methods myAcc.setAcc_no(775492842L); myAcc.setName('SoftwareTestingHelp.com'); myAcc.setEmail('sth_account@sth.com'); myAcc.setAmount(25000f); //read data member values through getter methods System.out.println('Account No:' + myAcc.getAcc_no()+' '+'Account Name:' + myAcc.getName()+'
'+'Account holder email:' + myAcc.getEmail()+'
' + 'Amount in Account:' + myAcc.getAmount()); } }
Çıktı:
Yukarıdaki programın bir sınıf Hesabı ve hesapla ilgili dört özel değişkeni vardır. Tüm veri üyeleri özel olduğundan, bu değişkenlerin her biri için alıcı ve ayarlayıcı yöntemleri sağladık.
giriş seviyesi qa test kullanıcısı mülakat soruları
Ana yöntemde, Account sınıfının nesnesi aracılığıyla erişilen public getter ve setter yöntemlerini kullanarak bu özel değişkenlerin değerlerini okur ve belirleriz.
Java'da Veri Gizleme
Sıklıkla, kapsülleme ve veri gizlemeyi birbirinin yerine kullanırız. Ama ikisi de aynı değil. Java kapsülleme, verilerin daha iyi yönetimi ve güvenliğini sağlamak için ilgili verilerin tek bir birimde gruplandırılmasıyla ilgilenir.
Diğer yandan verilerin gizlenmesi, uygulama ayrıntılarını gizleyerek veri üyesi erişimini kısıtlar. Kapsülleme tam olarak veri saklama olmasa da, bize veri gizleme yolunu sağlar. Veri gizleme, erişim değiştiriciler kullanılarak gerçekleştirilir.
Java, dört erişim değiştirici sağlar.
- halka açık: Herkes tarafından erişilebilir.
- özel: Yalnızca sınıf içinde erişilebilir.
- korumalı: İçeren paket ve alt sınıflara erişilebilir.
- varsayılan: Paket içinde erişilebilir.
Kapsülleme, verileri tek bir birimde toplar, böylece bir şekilde verileri gizler. Ayrıca, verileri özel kılar ve bu nedenle dış dünya tarafından erişilemez. Verileri gizli yapmak için, veri gizleme konsepti olan özel erişim değiştiriciyi kullanırız.
Aynı zamanda, soyutlamanın tanımı olan uygulama detayları ifşa edilmeden sadece ilgili detaylar son kullanıcıya verilmektedir. Bu nedenle, kapsüllemeyi, veri gizlemenin yanı sıra soyutlamanın bir kombinasyonu olarak görebiliriz.
Neden Kapsüllemeye İhtiyacımız Var?
Java'da kapsüllemenin neden gerekli olduğunun çeşitli nedenleri vardır:
- Kapsülleme, başka herhangi bir işlevi veya kodu değiştirmek zorunda kalmadan kodu veya kodun bir bölümünü değiştirmemizi sağlar.
- Kapsülleme, verilere nasıl eriştiğimizi kontrol eder.
- Kapsülleme kullanarak gereksinimlere göre kodu değiştirebiliriz.
- Kapsülleme, uygulamalarımızı daha basit hale getirir.
Sıkça Sorulan Sorular
S # 1) Java'da Neden Kapsülleme kullanılıyor?
Cevap: Java'da kapsülleme çoğunlukla verileri gizlemek için kullanışlıdır. Ya da başka bir deyişle, verilere kimin erişip kimin erişemeyeceği konusunda verilere verilen erişime karar vermek.
S # 2) OOP'de Kapsülleme nedir?
Cevap: Kapsülleme, Nesne yönelimli programlama dilinin önemli sütunlarından biridir ve bu veriler üzerinde çalışan yöntemlerin ve verilerin tek bir birimde toplanmasıyla ilgilenir. Örneğin, Java'daki bir sınıf, kapsüllenmiş bir yapıdır. Kapsülleme, verilere erişim sağlamayla ilgili kararlarla da ilgilenir.
S # 3) Java'da Encapsulation'ın avantajı nedir?
Cevap: Java'da kapsüllemenin en büyük avantajı veri gizlemedir. Kapsüllemeyi kullanarak, programcının verilere erişime ve bu veriler üzerinde çalışan yöntemlere karar vermesine izin verebiliriz. Örneğin, Belirli bir veri parçasının sınıfın dışındaki herhangi biri tarafından erişilemez olmasını istiyorsak, bu verileri gizli hale getiririz.
S # 4) Kapsülleme süreci nedir?
Cevap: Kapsülleme, bir formattan veya protokolden (ağ oluşturma açısından) verileri toplama ve bunları başka bir formata veya protokole çevirme veya yeniden biçimlendirme işlemidir, böylece veriler uygulamalar veya ağ üzerinden erişilebilir ve aynı zamanda korunur.
S # 5) Veri kapsüllemede son adım nedir?
Cevap: Kapsüllemedeki son adım, kullanıcı bilgilerini eşdeğer verilere dönüştürmektir. Daha sonra bu veriler, daha sonra veri paketlerine dönüştürülen segmentlere dönüştürülür. Veri paketleri, yazılım ortamında ileri ve geri aktarılabilen mantıksal bir çerçeveye yerleştirilir.
Sonuç
Bu, Java'da Kapsülleme hakkındaki eğiticimizi sonlandırıyor. Kapsülleme, üye değişkenleri ve bu veri üyeleri üzerinde çalışan yöntemleri tek bir birimde bir araya toplama tekniğidir. Java'daki bir sınıf, verileri ve yöntemleri tek bir birime sardığı için klasik bir kapsülleme örneğidir.
Java, tüm veri üyelerini özel hale getirerek ve daha sonra özel değişkenlerin değerlerini okuyabilmemiz ve bu değişkenler için yeni değerler ayarlayabilmemiz için herkese açık olan alıcı ve ayarlayıcı yöntemler sağlayarak kapsülleme uygulamasını başarır.
=> Özel Java Eğitimi Öğretici Dizisi İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- TreeMap In Java - Java TreeMap Örnekleriyle Öğretici
- Java Double - Programlama Örnekleriyle Öğretici
- Programlama Örnekleriyle Java Float Eğitimi
- Java Reverse String: Programlama Örnekleriyle Öğretici
- Java Enum: Örneklerle Java Numaralandırma Eğitimi
- Java Tamsayı ve Örneklerle Java BigInteger Sınıfı
- Java Dizesi () Örneklerle Yöntem Eğitimi içerir