Video: 8.3 - Java API Paketleri ve Kaynak Kodları, Sarmalama ve Sınıf Erişim Kontrolu 2024
Java gibi nesneye dayalı programlama ayrıntıları gizlemek için büyüktür. Tek bir parça yazan programcılar, başka bir programcının kodu içindeki ayrıntılarla değinmemelidir. Bu bir güvenlik ve gizlilik meselesi değil. Bu bir modülerlik meselesidir.
Ayrıntıları gizlediğinizde, karmaşıklıkları tek bir kod parçası içinde bükülüp başka bir kod parçası ile kırılmış halde saklarsınız. Kodunuz güzel, ayrık, yönetilebilir topaklar halinde gelir. Karmaşıklığı minimumda tutarsın. Daha az hata yaparsın. Tasarruf edin. Dünya barışını geliştirmek için yardım ediyorsun.
Özel alanların kullanımına ilişkin pek çok örnek bulabilirsiniz. Bir alan özel olarak ilan edildiğinde, dışarıdaki bütün müdahalelerden gizlenir. Bu gizleme, modülerliği arttırır, karmaşıklığı en aza indirir, vb.
Başka yerlerde halka ilan edilen şeylere örnekler verilir. Tıpkı bir kamu şöhreti gibi, kamuya açıklanan bir alan tamamen açık bırakılmıştır. Elvis'in kullandığı diş macunu çeşidini muhtemelen çok kişi biliyor ve herhangi bir programcı, Elvis adında olmayan bir alanı bile, genel bir alana başvurabilir.
Java'da, public ve private kelimeleri erişim değiştiricileri olarak adlandırılır. Hiç şüphesiz, bildirimlerinde erişim düzenleyiciler olmadan alanları ve yöntemleri gördünüz. Bu türden bir yöntem veya alanın varsayılan erişimine sahip olduğu söylenir. Birçok örnek, varsayılan erişim hakkını büyük bir karışıklığa neden olmadan kullanıyor. Bazen sorun değil.
Ve başka bir erişim düzenleyicisi hakkında bilgi bulabilirsiniz. Korunan erişim değiştiricisi. Java'da, sınıf üyesi için varsayılan erişim pakete genel erişimdir. public, private, veya protected kelimesi olmadan ilan edilen üye sınıfının bulunduğu pakette erişilebilir.
Paketlerin adları ve alt kısımları ile birlikte adlar biraz yanıltıcı olabilir. Örneğin, düğme tıklamalarına yanıt veren bir program yazdığınızda, normal olarak iki ayrı paketten sınıfları içe aktarırsınız. Tek bir satırda, import java'a sahip olabilirsiniz. awt. *;. Başka bir satırda, import java'unuz olabilir. awt. Etkinlik. *;. Java'dan tüm sınıfları içe aktarma. awt paketi java sınıflarını otomatik olarak almaz. awt. etkinlik paketi.