C# Access Modifiers | Erişim Belirleyiciler Nedir?

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ย. 2024

ความคิดเห็น • 20

  • @dnzkrblt
    @dnzkrblt 2 ปีที่แล้ว +6

    Kütüphanelerinizi paket olarak yayınlayıp nuget paket yöneticisine yüklediğinizde internal ve private protected çok sık kullanılıyor (ihtiyaç duyuluyor).

  • @velskud111
    @velskud111 หลายเดือนก่อน +1

    Protected internal biraz kafamı karıştırmıştı, benim anladığım kadarıyla;
    1) Internal diyerek methoda aynı kütüphanede izin veriyoruz diğer kütüphanelerde bir instance oluştursak da kullanamıyoruz. 2) Protected diyerek alt classlara methodu kullandırtabiliyoruz.
    3) Protected internal yaparsak başka kütüphanede olan bir alt classa o methodu kullanabilme yetkisi veriyoruz ve aynı kütüphane içinde yine kullanabiliyoruz.

  • @furkanaydn8343
    @furkanaydn8343 ปีที่แล้ว +1

    Güzel bir video olmuş hocam, bilgileri tazelemek amaçlı eğitim serilerinizi izliyorum. Bilgilerinizden istifade etmeye çalışıyorum, iyi çalışmalar kolay gelsin :)

    • @TechBuddyTR
      @TechBuddyTR  ปีที่แล้ว

      Teşekkürler. Size de kolay gelsin :)

  • @EnderBahar
    @EnderBahar 9 หลายเดือนก่อน +1

    Tesekkurler guzel bir anlatim fakat bazi noktalarda class a method , method a class demissiniz kafa karisikligi yaratabilir , bir de parent/child classlarda ki etkilesimleri anlatirken 2 class i da ekrana verebilirseniz anlamasi daha kolay olur . Saygilar

    • @TechBuddyTR
      @TechBuddyTR  9 หลายเดือนก่อน

      Evet ara ara yapıyorum bu hataları :) Düzeltmem lazım.

  • @Eren_Ozdemir
    @Eren_Ozdemir ปีที่แล้ว

    Hocam video çok iyi olmuş elinize sağlık

  • @dilarasedef
    @dilarasedef ปีที่แล้ว +1

    hocam merhaba,ben protected internal'ı tam anlayamadım nerede çalışıp çalışmadığı kısmı biraz karışık geldi.Açıklayabilir misiniz acaba?

    • @TechBuddyTR
      @TechBuddyTR  ปีที่แล้ว +1

      protected internal, aynı assembly (csproj) içerisindeki her yerden ulaşılabilir. Ancak assembly dışına çıktığımızda ise sadece bu objeyi kullanarak yeni bir obje oluşturduğumuzda kullanabiliyoruz. 'protected internal void Calc()' diye bir methodumuz varsa mesela ve diyelim ki bu Math class'ı altında duruyor, bunu başka bir assembly de doğrudan kullanamıyoruz. 'public class MathV2: Math' diye bir tanımlama yaparsak, ancak bu class'ın içinden Calc() metoduna ulaşabiliyoruz.

  • @ahmedhakanokumus
    @ahmedhakanokumus 3 หลายเดือนก่อน +1

    Hocam şuanda baktığımda file diye bir erişim belirleyici daha gelmiş. file den kasıt aynı class içerisi midir?

    • @TechBuddyTR
      @TechBuddyTR  3 หลายเดือนก่อน

      @@ahmedhakanokumus aynı dosya içerisinde. Bir dosya içerisinde birden fazla class oluşturabiliyoruz bazen

  • @nebulosy1205
    @nebulosy1205 2 ปีที่แล้ว +1

    Namespace altında sadece public ve internal tanımlayabilmemizin arkasındaki mantık nedir? Neden private olarak tanımlayamıyoruz?

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว

      Tam olarak anlayamadım.

    • @nebulosy1205
      @nebulosy1205 2 ปีที่แล้ว +1

      @@TechBuddyTR 8:00 da Namespace içerisinde ilk class tanımlamamızda private tanımlarken hata alıyoruz, bunu kast etmiştim. Burada bu hatayı almamızın sebebinin mantığını merak ettim.
      CS1527: Elements defined in a namespace cannot be explicitly declared as private, protected, protected internal, or private protected.
      Herhangi bir namespace tanımlamadan direkt
      public class MyClass
      {

      }
      protected class MyClass2
      {
      }
      bunu yazsakta bize aynı hatayı veriyor.

    • @TechBuddyTR
      @TechBuddyTR  2 ปีที่แล้ว +2

      He tamam ben yanlış anlamışım olayı. Şöyle bir durum var orada. Namespace altında bir class'ı private tanımlayamıyoruz çünkü namespace'ler bir object olmadığı için private public vs gibi durumları da olamıyor. Ama bir şeyi private olarak tanımladığımızda sadece buradaki scope içirisinden erişilebilsin diyoruz ya. eğer namespace altına private bir class oluşturabilseydik, bu class sadece bu namespace altından erişilebilir demiş olacaktık. Ama böyle bir şey mümkün değil az önceki anlattığım sebeple. Dolayısı ile private bir şey, public, protected, internal vs gibi class lar içerisinde yer almalı.
      Bununla birlikte public veya internal tanımladığımız zaman class'ı bir namespace altına, bu class'lar başka class lardan da kullanılabilir demiş oluyoruz.

    • @nebulosy1205
      @nebulosy1205 2 ปีที่แล้ว +1

      @@TechBuddyTR Bu kadar açıklayıcı bir cevap beklemiyordum. Teşekkür ederim, kafamda oturmasını sağladınız.

  • @santahs3657
    @santahs3657 ปีที่แล้ว

    Merhaba hocam, bir namespace'in altında çalışmak ve onu daha sonra using ile başka bir classta kullanmak ile kalıtım almanın farkını kafamda tam oturtamadım. Yani bir namespace class'ın da üstünde bir yapı oluyor ve using kullanarak direkt onu mu miras almış oluyoruz? Yoksa ben olayları çok mu bocaladım?

    • @TechBuddyTR
      @TechBuddyTR  ปีที่แล้ว +1

      İkisi çok farklı konular :)
      namespace dediğimiz şey; bir objenin o solution içerisinde nerede yer aldığını gösterdiği bir adres bilgisidir sadece. Öte yandan kalıtım yolu ise, adı üzerinde, o objenin tüm özelliklerinin başka bir objeye aktarılması gibi değerlendirilebilir.

    • @santahs3657
      @santahs3657 ปีที่แล้ว

      @@TechBuddyTR Cevabınız için teşekkür ederim, gayet açıklayıcı oldu :)