کلیدواژه های سطح دسترسی (access modifiers)

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

توضیحات

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

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

نکته

کلیدواژه های سطح دسترسی برای متغیر ها، توابع و کلاس های محلی (local) قابل استفاده نیستند.

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

1- public

2- protected

3- internal

4- private

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

متغیر ها، توابع، کلاس ها، آبجکت های اعلامی و اینترفیس ها میتونن به صورت top level تعریف بشن.

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{ ... }

نکته

کلیدواژه ی protected برای اعضای top-level قابل استفاده نیست.

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

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 قابل استفاده نیست.

arrow_drop_up
کپی شد!