Sobes.tech
Intern

Ինչ է մուտքի մոդիֆիկատորները։

sobes.tech AI

Պատասխան AI-ից

Kotlin- ում մուտքի փոփոխիչները սահմանում են հայտարարությունների (դասեր, ինտերֆեյսներ, ֆունկցիաներ, հատկություններ) տեսանելիությունը: Նրանք վերահսկում են, թե որտեղ կարող է օգտագործվել այս տարրը:

Առկա փոփոխիչներ՝

  • public (նույնպես՝ ըստ նախնական կարգի): Տեսանելի է ցանկացած վայրից:
  • private: Տեսանելի միայն այն բլոկի ներսում, որտեղ այն հայտարարված է (դաս, ֆայլ):
  • protected: Տեսանելի է դասի ներսում և նրա բոլոր ենթակլասներում: Չի հասանելի վերևի մակարդակի անդամների համար (որոնք սահմանված են դասից դուրս):
  • internal: Տեսանելի է միայն նույն մոդուլում:

Օրինակ՝

// ֆայլ: Example.kt

package com.example.app

private const val PRIVATE_CONSTANT = 1 // Տեսանելի միայն այս ֆայլում

public class PublicClass { // Տեսանելի ցանկացած վայրից

    private var privateProperty = 0 // Տեսանելի միայն PublicClass-ի ներսում

    protected open fun protectedMethod() { // Տեսանելի է PublicClass-ում և նրա ենթակլասներում
        // ...
    }

    internal fun internalMethod() { // Տեսանելի միայն ComExampleApp մոդուլում
        // ...
    }
}

open class BaseClass {
    protected val protectedValue = 5 // Տեսանելի է BaseClass-ում և նրա ենթակլասներում
}

class DerivedClass : BaseClass() {
    fun useProtectedValue() {
        println(protectedValue) // Հասանելիություն protectedValue-ին ենթակլասից
    }
}