Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Erişim belirleyiciler (access modifiers) nelerdir? Her programlama dilinde mevcut mudur?

Çözüldü 2 Cevaplar 352 Gösterim Genel Kavramlar
Erişim belirleyiciler (access modifiers) nelerdir? Her programlama dilinde bu belirleyiciler var mı? Neden ihtiyaç duyulur bunlara?
kapalı

2 Cevap

1
En İyi Cevap
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.
(5.6k puan)
seçti
0

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;

  1. private         ( sadece aynı class içinden erişim sağlar)
  2. default         (  sadece aynı paket içinden erişim sağlar)
  3. protected     ( aynı paketten erişim sağlanır, bunun yanında farklı  paketten erişimi ise bulunduğu class tan türetildiğinde (subclass) erişimi mümkündür)
  4. public          ( her yerden erişimi mümkün kılar)

bunların açıklaması ise daha önce şu linkimizde de cevaplanmış.

Not: non-access modifier ise  static, abstract, synchronized, native, volatile, transient şeklindedir. 

(2.0k puan)
düzenledi