İnfografik
← Ünite 7
Nesne Tabanlı Programlama 1

Ünite 7: Erişim Belirleyiciler

Visual Studio 2019 Kullanımı
Ünite içerisindeki tüm uygulamalar Visual Studio 2019 ortamında C# dili ile geliştirilmiştir. Kod editörüne geçiş için F7 fonksiyon tuşu kullanılmaktadır.
Sınıf Ekleme İşlemi
Yeni bir sınıf eklemek için Proje menüsünden 'Sınıf Ekle' komutu kullanılır. Bu işlem, projenin modüler yapısını korumak için temel bir adımdır.
Farklı Projelerin Birleştirilmesi
İki ayrı projeyi tek çözümde çalıştırmak için 'Ekle -> Yeni Proje' komutu kullanılır. Ardından 'Başvuru Ekle' ile projeler arası iletişim kurulur.
Namespace Kullanımı
Farklı bir projeden sınıf çağırmak için 'using' anahtar kelimesi kullanılır. Örneğin, 'using internaldeneme;' ifadesi, o isim uzayındaki sınıflara erişimi sağlar.

Anahtar Kavramlar

Erişim BelirleyiciSınıf, metot veya özelliklerin hangi kapsamda erişilebilir olduğunu belirleyen anahtar kelimelerdir. Örneğin, 'private' sadece sınıf içine kısıtlama getirirken, 'public' her yerden erişim sağlar.
Kapsülleme (Encapsulation)Verilerin dış dünyadan gizlenerek sadece kontrollü metotlar aracılığıyla değiştirilmesini sağlayan OOP prensibidir. Erişim belirleyiciler bu prensibin uygulanmasında temel araçtır.
Kalıtım (Inheritance)Bir sınıfın özelliklerinin başka bir sınıf tarafından devralınmasıdır. 'Protected' belirleyicisi, bu devralma sürecinde alt sınıfların erişim yetkilerini kontrol etmek için kullanılır.
IntelliSenseVisual Studio'da kod yazarken nokta (.) operatörü sonrası açılan ve erişilebilir üye listesini gösteren yardımcı özelliktir. Örneğin, 'taha.isim' yazarken isim özelliğinin listelenmesi buna örnektir.
NamespaceKod bloklarını mantıksal gruplara ayıran yapıdır. Namespace'ler daima public tanımlıdır ve erişim belirleyicisi almazlar.
Türetilmiş SınıfBaşka bir sınıftan miras alan sınıftır. 'Protected' ve 'Protected Internal' belirleyicileri, bu sınıfların üst sınıftaki üyelere erişimini belirler.
Çözüm Gezgini (Solution Explorer)Visual Studio'da projelerin yönetildiği paneldir. Farklı projelerin birbirine referans verilmesi (başvuru ekleme) burada gerçekleştirilir.
Başvuru (Reference)Bir projenin başka bir projedeki public sınıfları kullanabilmesi için yapılan bağlantı işlemidir. 'Internal' üyeler bu bağlantıdan etkilenmez ve dış projeye kapalı kalır.
Varsayılan ErişimErişim belirleyicisi belirtilmeyen sınıf üyelerinin otomatik olarak 'private' olarak kabul edilmesidir. Kodun okunabilirliği için belirleyicinin açıkça yazılması önerilir.
OR (Veya) MantığıProtected Internal belirleyicisinin çalışma prensibidir. Hem protected hem de internal kurallarının birleşimiyle, iki durumdan birinin sağlanması erişim için yeterlidir.

Diğer Önemli Bilgiler

Public Sınıf Kısıtlaması

Sınıflar asla private veya protected olarak tanımlanamazlar. Sadece public veya internal olarak tanımlanabilirler.

Şasi Numarası Örneği

Araç sınıfında şasi numarası 'private' tanımlanarak dışarıdan değiştirilmesi engellenmiş, model ve kasa ise 'public' yapılarak erişime açılmıştır.

Hata Ayıklama (Debugging)

Erişim kısıtlamalarına aykırı bir erişim denendiğinde, Visual Studio kod editöründe ilgili satırı kırmızı alt çizgi ile işaretleyerek derleme öncesi uyarı verir.

Sınavda Dikkat Et

  • Sınıfların public veya internal olabileceğini, private veya protected olamayacağını unutmayın; bu sık sorulan bir kısıtlamadır.
  • Varsayılan erişim belirleyicisinin private olduğunu aklınızda tutun; kodda bir şey yazmıyorsa private'tır.
  • Protected ve Private arasındaki temel farkın 'kalıtım' olduğunu hatırlayın; Protected türetilmiş sınıflara izin verir.
  • Internal'ın proje bazlı bir kısıtlama olduğunu, tek projede public gibi davrandığını unutmayın.
  • Protected Internal'ın 'veya' (OR) mantığıyla çalıştığını, yani iki durumdan birinin sağlanmasının yeterli olduğunu bilin.