سطح دسترسی

سطح دسترسی (Access Control)، مشخص می‌کند که متدها یک کلاس یا فیلدها در چه جای برنامه قابل دسترسی هستند. در این درس می‌خواهیم به سطح دسترسی private و public نگاهی بیندازیم. سطح دسترسی public زمانی مورد استفاده قرار می‌گیرد که شما بخواهید به یک متد یا فیلد در خارج از کلاس و حتی پروژه دسترسی یابید. به عنوان مثال به کد زیر توجه کنید :

 1: class Test
 2: {
 3:     public var number :Int?
 4: }
 5: 
 6: var x = Test()
 7: 
 8: x.number = 10

در این مثال کلاس Test دارای یک فیلد به نام number است که در جلوی آن از کلمه کلیدی public استفاده کرده ایم. با تعریف این عضو به صورت public می‌توانیم آن را در خارج از کلاس Test مقدار دهی کنیم. حال اگر به جای کلمه public از کلمه کلیدی private استفاده کنیم، هنگام کامپایل برنامه با خطا مواجه می‌شویم چون فیلد number با وجود این کلمه در خارج از کلاس، قابل دسترسی نیست. اگر یک کلاس را به صورت public و اعضای آن را به صورت private تعریف کنیم، آنگاه می‌توان یک نمونه از کلاس را ایجاد کرد ولی اعضای آن قابل دسترسی نیستند:

 1: public class Test
 2: {
 3:     private var number :Int?
 4: }
 5: 
 6: var x = Test()
 7: 
 8: x.number = 10

سطوح دسترسی دیگری هم در Swift وجود دارد که بعد از مبحث وراثت در درسهای آینده در مورد آنها توضیح خواهیم داد.