سطح دسترسی (private internal protected public) در کاتلین

سطح دسترسی (private internal protected public) در کاتلین

توضیحات

سطح دسترسی پیشفرض تمام اعضا در کاتلین public است.

با استفاده از کلیدواژه های سطح دسترسی (access modifiers) در کاتلین میتونیم مشخص کنیم متغیرها، توابع، کلاس ها و اینترفیس ها کجای پروژه قابل دسترسی باشن.

در کاتلین چهارتا کلیدواژه ی سطح دسترسی داریم:

  1. public
  2. protected
  3. internal
  4. private

سطح دسترسی اعضای تاپ لول (top level)

با کلیدواژه های سطح دسترسی میتونیم دسترسی به اعضای top level رو در پروژه تعیین کنیم؛ کلیدواژه ی protected برای اعضای تاپ لول قابل استفاده نیست.

تعریف اعضای تاپ لول با کلیدواژه private

با کلیدواژه ی private اعلام میکنیم عضو top level فقط برای اعضای داخل فایل در دسترس است.

private var v = ...
            
private fun myFunction(){
  ...
}

private class MyClass{

  ...

}
              

تعریف اعضای تاپ لول با کلیدواژه internal

با کلیدواژه ی internal میگیم عضو top level فقط برای اعضای داخل ماژول (module) در دسترس است.

internal var v = ...
            
internal fun myFunction(){
  ...
}

internal class MyClass{

  ...

}
              

تعریف اعضای تاپ لول با کلیدواژه public

با استفاده از کلیدواژه ی public اعلام میکنیم تمام کلاس ها و فایل های پروژه میتونن به عضو top level دسترسی داشته باشن.

public var v = ...
            
public fun myFunction(){
  ...
}

public class MyClass{
  ...
}
               

سطح دسترسی اعضای کلاس

با کلیدواژه های سطح دسترسی میتونیم دسترسی به اعضای کلاس رو در پروژه تعیین کنیم.

تعریف اعضای کلاس با کلیدواژه private

با استفاده از کلیدواژه ی private برای یک عضو کلاس اعلام میکنیم فقط اعضای داخل کلاس میتونن بهش دسترسی داشته باشن.

class MyClass{
  private var prop = ...

  ...

  private fun myFunction(){
    ...
  }
  
  ...

}
              

تعریف اعضای کلاس با کلیدواژه protected

اگه از کلاسی که عضوش با سطح دسترسی protected تعریف شده ارث بری نداشته باشیم مثل private عمل میکنه. در صورت ارث بری، اعضای کلاس فرزند به عضوی که در کلاس پدر با protected تعریف شده دسترسی دارند.

class MyClass{

  protected var prop = ...

  ...

  protected fun myFunction(){
    ...
  }
  
  ...

}
              

تعریف اعضای کلاس با کلیدواژه internal

تمام اعضای module که به کلاس دسترسی دارن؛ به عضو کلاس که با سطح دسترسی internal تعریف شده نیز دسترسی دارن.

class MyClass{
  internal var prop = ...

  ...

  internal fun myFunction(){
    ...
  }
  
  ...

}
              

تعریف اعضای کلاس با کلیدواژه public

اعضای تمام کلاس ها و فایل های پروژه میتونن به عضوی که در کلاس با public تعریف شده، دسترسی داشته باشند.

class MyClass{
  public var prop = ...

  ...

  public fun myFunction(){

    ...

  }
  
  ...

}
              

خلاصه

  • کلیدواژه های سطح دسترسی تعیبن میکنن یک تابع متغیر، کلاس و ... در کجا قابل دسترسی هستند.
  • در کاتلین چهارتا کلیدواژه ی سطح دسترسی داریم که عبارتند از private، protected، internal و public.
  • کلیدواژه های سطح دسترسی برای اعضای داخلی (local) قابل استفاده نیستند.
  • کلیدواژه ی protected برای اعضای top level قابل استفاده نیست.

بازخورد و دیدگاه‌ ها

اولین نفری باشید که در این صفحه نظر می‌دهید

notifications برای اطلاع از جدیدترین مطالب و پست های مرتبط، عضو کانال تلگرام ما بشید.

arrow_drop_up
کپی شد!