Private, Protected, Public ve Published erişim kısıtlama bildirimleri;
Type TSinifAdi = Class(TObject) public {public alanlar-property (öznitelik)'ler} {public metotlar} protected {protected alanlar-öznitelikler} {protected metotlar} private {private alanlar-öznitelikler} {private metotlar} end;
-Public bildirimi ile bu alan ya da metoda her yerden erişilebilir. Yani başka bir Unit'deki başka kodun herhangi bir yerinde bu nesnenin yaratılmış örneğinden bu alan ya da metotlar çağrılabilir. Ya da bu metottan türetilmiş başka bir metot içinden direkt olarak (herhangi bir örneğini yaratmadan) kullanılabilir.
-Protected bildirimi bazı erişim kısıtlamaları koyar. Protected üyelere ya aynı Unit içinden, ya da aynı sınıf veya bundan türetilmiş bir sınıf içinden (başka bir Unit içinde olması farketmez) erişilebilir. Bunun dışında erişim yoktur.
-Private bildirimi yapılan bir üyeye yalnızca deklare edildiği Unit içinden erişilebilir.
Bunların yanısıra bir de strict bildirimi vardır. Bu tek başına kullanılmaz. strict private veya strict protected olarak kullanılır. strict private'de aynı sınıf içinden erişilebilir (ondan türetilmiş sınıflardan erişilemez), strict protected'de aynı sınıf ve türetilmiş sınıflar içinden erişilebilir (aynı unit içinde başka sınıflardan erişilemez).
Kaynaklar :
1-http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Private,_Protected,_Public,_and_Published_Declarations
2-http://castle-engine.io/modern_pascal_introduction.html#_visibility_specifiers
Hiç yorum yok:
Yorum Gönder