‫Tekrar hoş geldiniz.
‫Bu videoda, erişim izni vermenizi ve engellemenizi sağlayan erişim değiştiricilerinden bahsetmek istiyorum.
‫Erişim değiştiricilerini ve bunların arkasındaki mantığı biraz daha iyi anlamak için bazı
‫kavramlara bakmamız gerekiyor.
‫Yani her şeyden önce.
‫Alanları ve yöntemleri erişim değiştiricileriyle işaretlemek nesne yönelimli programlamanın
‫bir parçasıdır ve kodunuzun güvenliğini artırır ve OP'nin bir parçası olan kapsüllemenin önemli bir parçasıdır.
‫Nesne yönelimli programlamada bunun ne anlama geldiğini biraz daha inceleyeceğiz.
‫C sharp encapsulation gibi diller, birbiriyle ilişkili ancak farklı iki kavramdan birine ve bazen de bunların kombinasyonuna
‫atıfta bulunmak için kullanılır.
‫Dolayısıyla, değişkenleri ve yöntemleri gibi bazı nesne bileşenlerine doğrudan erişimi kısıtlayan bir dil
‫mekanizması, verilerin yöntemlerle veya bu veriler üzerinde çalışan diğer işlevlerle birlikte paketlenmesini
‫kolaylaştıran bir dil yapısı.
‫Örneğin, tüm programımızı daha güvenli hale getirmek için setter ve getter kullanabiliriz.
‫Bu videoda inceleyeceğimiz birçok şeyi yapmamızı sağlayacak özelliklere girdiğimizde buna
‫çok daha fazla bakacağız.
‫Tamam.
‫Öncelikle, private, private erişim değiştiricisine yalnızca bir sınıf veya yapı içinden erişilebilir.
‫Dolayısıyla, özel bir değişken veya özel bir yöntem oluşturursanız, bu yalnızca aynı sınıf veya yapı içinde
‫kullanılabilir.
‫Yani başka bir yerde kullanamazsınız.
‫Şimdi burada private int h ve bir yöntem olan private void walk içeren bir class one örneğine
‫bakalım.
‫Bu durumda, yöntem hiçbir şey yapmaz, ancak içinde bazı kodlar olabilir.
‫Ve şimdi ikinci bir sınıfımız var, birinci sınıf olarak adlandırılan birinci sınıftan bir nesne oluşturduğumuz
‫ikinci sınıf.
‫Ve sonra bu birinci sınıf nesnenin 18 olan kenarına erişmek istiyoruz.
‫Ancak ne yazık ki bunu yapamıyoruz çünkü bu özel bir durum.
‫Dolayısıyla bu değişkene aynı şekilde walk metodu için erişemeyiz.
‫Özel olarak ayarlandığı için erişemiyoruz.
‫Yani başka bir sınıftan erişilemezler.
‫Sadece birinci sınıf içinde kullanılabilirler.
‫Ardından, projenizdeki her yerden erişilebilir olmasını sağlayan genel erişim değiştiricisine sahibiz.
‫Dolayısıyla, bir değişken veya yöntem için public kullandığınızda, tüm projenizde sahip olduğunuz her bir
‫sınıfta kullanılabilir.
‫Hiç de sınırlı değil.
‫İşte.
‫Bir örnek daha public int h ve public void.
‫Değişken ve metodu burada yürütün ve ikinci sınıfta bunlara erişmeye çalışın ve bu durumda tamamen sorunsuz çalışır.
‫Böylece her yerden erişilebilirler.
‫Dolayısıyla bunları elbette ikinci sınıfta kullanabiliriz.
‫Daha sonra protected adı verilen erişim değiştiricisi vardır ve bu da bir şeyi sınıftan ve ondan türeyen
‫tüm sınıflardan erişilebilir hale getirmemizi sağlar.
‫Bu nedenle, nesne yönelimli programlama için OP'yi anlamanız, bunu gerçekten kullanabilmeniz
‫için önemlidir.
‫Yani bu korumalı int h 18 ve korumalı void walk'a sahibiz.
‫Bu durumda, birinci sınıftan miras alan bir ikinci sınıfımız var ve şimdi H'ye doğrudan erişebildiğini görebilirsiniz.
‫Kendi sınıfımızdan bir nesne yaratmamıza bile gerek yok.
‫Bu da değişkene doğrudan, sanki herkese açıkmış gibi erişmemizi sağlar.
‫Yani korumak public gibidir ancak yalnızca aynı sınıf ve ondan miras alan sınıflar içindir.
‫Aynı şey yürümek için de geçerlidir, bu nedenle yürüme yöntemi burada da kolayca ve doğrudan kullanılabilir.
‫Ve sonra erişim değiştiricimiz var.
‫Dahili ve dahili değişkenlere ve yöntemlere yalnızca kendi derlemesinden, yani aynı ad alanından
‫veya aynı projeden erişilebilir.
‫Yani bir isim alanınız varsa.
‫O zaman ne zaman birden fazla sınıfınız olacak?
‫Tüm sınıflar dahili değişkenlere ve dahili yöntemlere erişebilir.
‫Peki erişim değiştiricilerini nasıl doğru kullanırız?
‫Bu nedenle, genel bir kural olarak, yeni bir sınıf üyesi veya yöntem bildirdiğinizde, başlangıçta programınızın
‫çalışmasına izin verecek en kısıtlayıcı erişim değiştiricisini kullanmanızı ve ardından gerektiğinde bunu
‫gevşetebilmenizi tavsiye ederim.
‫Bu yüzden her şeyi mümkün olduğunca özel yapın.
‫Değişkenlerinizin veya metotlarınızın başka bir yerde kullanılması gerektiğinde, elbette bunu biraz kolaylaştırmanız gerekir.
‫Böylece, örneğin dahili, korumalı ve hatta genel kullanabilirsiniz.
‫Peki neden erişim değiştiricileri kullanmalısınız?
‫Yöntemleriniz ve değişkenleriniz üzerinde tam kontrol sahibi olmanızı sağlarlar.
‫Çok basit bir örnek H olabilir.
‫Diyelim ki H'yi ayarlayabilmek istiyorsunuz, o halde H'yi public yaparsanız, herkes age değişkenini değiştirebilir
‫ve değer hiç mantıklı olmasa bile her sınıf h değişkenini değiştirebilir.
‫Yani birisi -20 ya da -25 gibi bir H değeri girebilir.
‫Ancak değişkeni private aracılığıyla kontrol ederseniz, yani yalnızca setter ve getter'larınız varsa veya daha sonra yapacağımız
‫gibi özellikleri kullanırsanız, bu yaş değişkeninin bir değerle ayarlandığından emin olabilirsiniz, bu mantıklı değildir.
‫Örneğin, eksi bir ile çarpılan negatif bir değer veya diyelim ki 150 veya 130'un üzerinde
‫veya buna benzer bir değer ise, sıfır gibi bir şey ayarlarsınız veya yanlış ad gibi bir şey ayarlarsınız veya bir
‫hata atabilirsiniz, yanlış değer gösterebilirsiniz.
‫Girin, lütfen başka bir şey girin.
‫Ya da örneğin yanlış değerlerle ilgilenmesi gereken doğru yazılımı veya doğru çalışanı bilgilendiren
‫bir rutin başlatabilirsiniz.
‫Örnek olarak yapabilecekleriniz bunlar, ancak yapabileceğiniz çok sayıda başka örnek de var
‫ve sonraki videolarda erişim değiştiricileri çok daha fazla inceleyeceğiz.
‫Bu yüzden X değiştiricileri, kapsülleme ve benzeri kavramlara biraz daha göz atalım derim.