10. SınıfBilişim Teknolojileri

Erişim Belirleyiciler ve Kapsülleme

Bilişim Teknolojileri · 10. Sınıf · Sınıf ve Nesne

Konu Anlatımı

Erişim Belirleyicileri ve Kapsülleme

Bir sınıf yazarken en sık yapılan yanlış, bütün üyeleri dışarıya açmaktır. Böylece sınıfın arayüzü şişer, veri dışarıdan serbestçe değiştirilebilir ve sınıfı kullanan kod kurallara uymayabilir. Erişim belirleyicisi, bir üyenin hangi noktalardan görülebileceğini ve değiştirilebileceğini yazan küçük bir ifadedir. Kapsülleme ise veriyi sınıfın içinde saklayıp dışarıya yalnızca denetimli yollardan erişim sağlama ilkesidir.

Bir sensör sınıfı düşünün: okuduğu ham değer 0 ile 255 arasında olmalıdır. Alanı doğrudan açarsak çağıran kod 300 yazabilir ve ölçüm bozulur. Alanı özel tutup genel bir özellikle erişim sağlarsak yazma isteği önce sınıfa uğrar, kural denetlenir ve geçersiz değer alana hiç yazılmaz. Bu iki satırlık fark, sınıfın ilerideki tüm kullanımını güvenli hâle getirir.

1. Ne Öğreneceğiz ve Ön Bilgi

Bu konu için sınıf, üye, alan, özellik ve metot kavramlarının bilinmesi yeterlidir. Değişken tanımlama, veri tipi seçimi ve new ile nesne üretme ön bilgidir. Kalıtım konusu önceden görüldüyse korumalı erişimin neden gerekli olduğu daha kolay anlaşılır.

Ön bilgiyi pekiştirmek için küçük bir deney yapabilirsiniz: bir sınıfta alanı önce genel, sonra özel yapıp iki sürümünü karşılaştırın. Genel sürümde hatalı değer sınıfa girerken özel sürümde sınıf kendi kuralını uygular; farkı görmek kuralları neden yazdığımızı somutlaştırır.

2. Temel Kavramlar ve Sınıflandırma

Dört erişim belirleyicisi vardır. Genel üye her yerden okunur ve değiştirilir. Korumalı üye kendi sınıfından ve o sınıftan türeyen sınıflardan erişilir, alakasız sınıflardan erişilemez. Derleme içi üye aynı derleme biriminde bulunan sınıflar tarafından kullanılabilir. Özel üye ise yalnızca tanımlandığı sınıfın içinden erişilebilir. Kapsam küçükten büyüğe doğru bu dörtlü sıralanır.

Kapsülleme veriyi özel alanda saklayıp dışarıya özellik ve metotlardan erişim sağlamaktır. Özellik, alanın okuma ve yazma yollarını saran bir yapıdır; yazma işlevi tanımlanmazsa üye salt okunur olur ve değer dışarıdan değiştirilemez. Metotlarla erişim ise yalnızca okuma ya da yazma yeteneği vermek yerine birden çok adımda işlem yapabilir.

Bazı üyeler için ek kurallar vardır. Değiştirilemeyen alan yalnızca tanımlandığı yerde ya da yapıcı metotta bir kez atanabilir; sabit değerler ise derleme anında sabitlenir. Statik alan sınıfa aittir, tüm nesneler aynı değeri paylaşır ve bu tür alanlar sayaç için uygundur. Alan adı ile metot parametresi adı aynı olduğunda nesnenin kendi üyesine işaretçiyle erişilir.

BelirleyiciKimler ErişebilirDeğiştirilebilir miUygun Kullanım
ÖzelYalnızca kendi sınıfıEvet, sınıf içindenAlanlar ve yardımcı işler
Derleme içiAynı derleme birimindeki sınıflarEvetProje içi ortak üyeler
KorumalıKendisi ve türeyen sınıflarEvetKalıtımda ortak veri
GenelHer yerEvetSınıfın arayüzü

3. Basit Örnek ve Adım Adım Çözüm

Basit örnek, sıcaklık ölçümü tutan bir sınıftır. Ölçüm alanı özel olarak tanımlanır ve değeri 0 ile 100 arasında olmalıdır. Genel özellik tanımlanır; yazma işlevi önce değeri denetler, kurala uymayan bir girişte değeri atamayı reddeder. Metot ise okunan değeri iki katına çıkarıp döndürür.

  1. Adım 1: Sınıf içinde özel bir alan tanımlayın ve varsayılan değer verin.
  2. Adım 2: Aynı ada sahip genel bir özellik yazın, okuma ve yazma işlevlerini tanımlayın.
  3. Adım 3: Yazma işlevinde değerin izin verilen aralıkta olup olmadığını denetleyin.
  4. Adım 4: Ölçümü okuyan bir metot ekleyip metottan da alana erişin.

Bu kurguda dışarıdan yalnızca özellik kullanılır, alan doğrudan değiştirilemez. Aralık dışı bir değer yazılmaya çalışılırsa yazma işlevi değeri kabul etmez ve eski değer korunur. Alanı genel yapsaydık aynı koruma kuralı kendiliğinden oluşmazdı.

4. İleri Örnek ve Saha Uygulaması

Saha uygulaması olarak robotik bir platformda motor sınıfı kurulabilir. Devir sayısı alanı özel tutulur, genel özellikle atanırken değerin 0 ile 3000 arasında olduğu denetlenir. Yön bilgisi salt okunur bir özellik olarak sunulur, çünkü yön değiştirme işlemi yalnızca bir metotla yapılmalıdır. Üretilen motor sayısı ise statik bir alanda tutulur, böylece kaç platformun kurulduğu tek yerden izlenir.

Devir sayısı değiştirildiğinde geri bildirim metodu çalıştırılabilir; metot içinde alanın adı ile parametre adı çakışırsa işaretçiyle alana erişilir. Böylece aynı metot hem atama hem bildirim işini tek yerden yapar ve denetim kaçmaz.

Tasarım KararıKapsüllemeye EtkisiKontrol Noktası
Alanı özel yapmakVeri dışarıdan korunurYalnızca özellikten yazılır
Özelliğe doğrulama eklemekGeçersiz veri alana girmezYazma işlevindeki aralık denetimi
Salt okunur özellik tanımlamakDeğişmez bilgi korunurYazma işlevi bulunmaz
Değiştirilemeyen alan kullanmakNesne ömrü boyunca sabit kalırYalnızca tanımda ve yapıcıda atama
Statik alan tanımlamakTüm nesneler ortak değeri paylaşırDeğişiklik sınıf adıyla yapılır

Denetimde her satır ayrı bir ölçüt olarak kullanılır: veri gizli mi, yazma yolu denetimli mi, değişmez bilgi değişmeye açık mı, ortak değer gerçekten paylaşılıyor mu. Dördü de doğruysa sınıfın arayüzü güvenli ve küçük kalır.

5. Karşılaştırma Tablosu ve Denetim

Erişim belirleyicisi seçilirken şu soru sorulur: bu üyeyi sınıf dışındaki kodun kullanması gerekiyor mu, gerekiyorsa değiştirmesi de gerekiyor mu. Gerekiyorsa genel üye, yalnızca okunması gerekiyorsa salt okunur özellik, hiç dışarı açılmaması gerekiyorsa özel üye seçilir. Korumalı üye ise kalıtımda alt sınıfın ortak veriye dokunması gerektiğinde kullanılır.

Kod denetimi iki katmanda yapılır. Derleme aşamasında kapsam dışı bir erişim denemesi hata olarak bildirilir; bu, hatanın çalışma anında değil yazılırken yakalanması demektir. Çalışma aşamasında ise arayüzün küçük tutulup tutulmadığına bakılır: dışarıya açılan üye sayısı azaldıkça sınıfı kullanan kodun bağımlılığı azalır.

Genel üyeyi yalnızca dışarıdan okunacaksa açmak yerine salt okunur özellik kullanmak, kapsüllemenin en ucuz güçlendirmesidir.

Özellik ile metot arasındaki seçim de denetime tabidir. Yalnızca okuma ve yazma gerekiyorsa özellik daha kısadır; birden çok adımda işlem, kayıt tutma ya da denetim gerekiyorsa metot kullanılmalıdır.

6. Sık Yapılan Hatalar, Özet ve Kendini Dene

En sık hata alanı genel bırakmaktır; ikinci sık hata kapsüllemeyi yalnızca özel yazmakla sağlanmış sanmaktır. Üçüncü hata, değiştirilemeyen alanı metot içinde güncellemeye çalışmaktır. Dördüncü hata, ortak kullanılacak sayacı her nesnede ayrı tanımlamaktır. Beşinci hata ise alan adı ile parametre adı çakıştığında işaretçiyi kullanmamaktır.

  1. Üyeleri tek tek listeleyip her biri için kimin erişmesi gerektiğini yazın.
  2. Genel özelliklerden yalnızca okunması gerekenleri salt okunur yapın.
  3. Değişiklik yapılan her alan için bir doğrulama kuralı yazın.
  4. Ortak kullanılacak değerler için statik alan kullanıldığını doğrulayın.

Özetle erişim belirleyicisi üyenin görünürlük sınırını, kapsülleme ise verinin korunmasını sağlar. Veri özel alanda tutulur, dışarıya özellik ve metotlardan çıkılır ve yazma yolunda kurallar denetlenir. Doğru kurulan bir sınıfta dışarı açılan üye sayısı azdır, geçersiz veri sınıfa giremez ve kapsam dışı erişim denemesi daha derleme aşamasında yakalanır.

Erişim Belirleyiciler ve Kapsülleme — Sık Sorulan Sorular

Erişim Belirleyiciler ve Kapsülleme nedir?

Bir sınıf yazarken en sık yapılan yanlış, bütün üyeleri dışarıya açmaktır. Böylece sınıfın arayüzü şişer, veri dışarıdan serbestçe değiştirilebilir ve sınıfı kullanan kod kurallara uymayabilir. Erişim belirleyicisi, bir üyenin hangi noktalardan görülebileceğini ve değiştirilebileceğini yazan küçük bir ifadedir…

Erişim Belirleyiciler ve Kapsülleme konusunda ne öğrenilir?

Özel alan dışarıdan doğrudan değiştirilemediği için geçersiz değer sınıfa hiç girmez.

Erişim Belirleyiciler ve Kapsülleme konusunda sık yapılan hatalar nelerdir?

Alanı genel yapıp doğrulamayı özelliğe bırakmak: Alan doğrudan açılınca çağıran kod denetimi atlayarak geçersiz bir değer yazabilir, kapsülleme tamamen ortadan kalkar. Kapsüllemeyi yalnızca private yazmakla sağlamak: Veri gizlenir ama yazma yolunda kural yoksa eksik kalınır; denetim mutlaka özellik ya da metot…

Erişim Belirleyiciler ve Kapsülleme için hangi formüller ve kurallar kullanılır?

Erişim belirleyicisi, bir üyenin sınıf içinden mi yoksa sınıf dışından mı erişileceğini belirler. · Kapsam halkası küçükten büyüğe: private, internal, protected, public. · Kapsülleme: özel alan artı genel özellik eşitliği denetimli erişim ve geçersiz veri engelidir. · Özellik, alanın okuma ve yazma yollarını saran iki…

Erişim Belirleyiciler ve Kapsülleme kazanımları nelerdir?

Genel, özel, korumalı ve derleme içi erişim belirleyicilerinin kapsamını karşılaştırır. Veriyi özel alanda tutup genel özellikle erişerek kapsülleme ilkesini uygular. Özellik üzerinde değer doğrulama yazarak geçersiz verinin alana girmesini engeller.

Erişim Belirleyiciler ve Kapsülleme Kazanımları

Örnek Sorular ve Çözümleri

Örnek Soru 1 kolay

Yalnızca tanımlandığı sınıfın içinden erişilebilen üye hangi belirleyiciyle tanımlanır?

  1. A) private
  2. B) public
  3. C) internal
  4. D) protected
Cevabı göster

Doğru cevap: A) private

Yalnızca tanımlandığı sınıfın içinden erişilebilen üyeler private erişim belirleyicisiyle tanımlanır. Sınıf dışındaki kod bu üyeye erişmeyi denerse derleme zamanında hata oluşur ve veri güvenle korunur.

Örnek Soru 2 orta

Sıcaklık ölçümü 0 ile 100 derece arasında olmalıdır. Kuralı özellik üzerinden uygulamak için hangi koşul yazılır?

  1. A) Değer sıfırdan küçük veya yüzden büyükse reddet
  2. B) Değer sıfırdan küçük olduğunda kabul et
  3. C) Değer yüzden büyük olduğunda kabul et
  4. D) Değer elliye eşit olduğunda reddet
Cevabı göster

Doğru cevap: A) Değer sıfırdan küçük veya yüzden büyükse reddet

Değer sıfırdan küçük kavramı Erişim Belirleyiciler ve Kapsülleme konusunun temel bir kavramıdır. Detaylar konu anlatımında verilmiştir.

Örnek Soru 3 zor

Erişim kapsamının en dardan en genişe doğru sıralaması hangisidir?

  1. A) private internal protected public
  2. B) public protected internal private
  3. C) internal private public protected
  4. D) protected public private internal
Cevabı göster

Doğru cevap: A) private internal protected public

private internal protected kavramı Erişim Belirleyiciler ve Kapsülleme konusunun temel bir kavramıdır. Detaylar konu anlatımında verilmiştir.

Sıradaki adım

Konu anlatımları hesapsız okunur. Quiz, slayt ve deneme için hesap gerekir.

DersTeders ile devam et

Bilişim Teknolojileri için çalışma yolu

  1. OkuKonu anlatımını bu sayfada bitir.
  2. Soru çözÖrnekleri çöz, cevabı açıklamayla karşılaştır.
  3. Quiz ile pekiştirHesapla kendini ölç.

Slaytla adım adım öğren · Tüm dersler · Ana sayfa

Hesap açTüm dersleri keşfet

Konu anlatımları hesapsız okunur; quiz, slayt ve deneme için hesap gerekir.

Bu sayfa Erişim Belirleyiciler ve Kapsülleme konusunun anlatımını, kazanımlarını ve örnek sorularını içerir. Konuyla ilgili tüm sorular için testi çöz, diğer konular için DersTeders ana sayfasına geçebilirsin.

Bu konunun öğretmen materyallerini (ders planı, çalışma kâğıdı, çözümlü soru bankası, rubrik) yazdırabilirsin: Yazıcı çıktısı modülünü aç