Erişim belirleyiciler (access modifiers) nelerdir? Her programlama dilinde bu belirleyiciler var mı? Neden ihtiyaç duyulur bunlara?
comments
2 references
// Comments are closed.
Erişim belirleyiciler (access modifiers) nelerdir? Her programlama dilinde bu belirleyiciler var mı? Neden ihtiyaç duyulur bunlara?
// Comments are closed.
Diğer dillerde sadece farlı olabildiğini biliyorum. Java programlama dilinden bahsedecek olursam;
iki tür modifier (belirleyici) vardır access modifiers ve non-access modifiers şeklinde.
Java’da 4 tip access modifiers vardır, bunlar;
bunların açıklaması ise daha önce şu linkimizde de cevaplanmış.
Not: non-access modifier ise static, abstract, synchronized, native, volatile, transient şeklindedir.
Erişim belirleyiciler (access modifiers) konusu daha çok oop destekleyen dillerde öne çıkıyor. Sınıf dediğimiz kavram normalde dışarıya kapalı bir kavram olması içine her isteyenin rahat rahat girip at koşturmaması gerekiyor. O yüzden sınıfın içinde kim değişkenleri değiştirebilir, kim değiştiremez sorusunun cevaplarını veriyor.
Temel anlamda public/private/protected oluyor. Ama java da package friendly, C++ da friend diye kavramlar da var. ilk 3 tanesiyle insan hayatını sürdürebiliyor, bunun yanında ben friend muhabbetini de beğeniyorum. Kısa tanımlama açısından kendimi sınıf olarak düşünürsek ve değişkeni de para olarak düşünürsek:
private: benim cebimdeki kimseyle paylaşmak istemediğim param oluyor.
protected: benim param ama ebeveyn ile paylaşabileceğim param oluyor.
public: hayır işlerine harcadığım insanların aldığı, verdiği param oluyor.
(C++) Friend: sadece belirlediğim arkadaşlarımla paylaştığım param
(java) Package friendly: aynı pakette(aile diyelim) üyeleri arasında paylaştığım param oluyor.
Neyi nasıl paylaşacağının kararını sınıfı yazarken veriyorsun.