Getter ها و Setter ها در برنامه نویسی کاتلین

4 سال پیش
Getter ها و Setter ها در برنامه نویسی کاتلین

Getter ها و Setter ها در برنامه نویسی کاتلین

در این درس از مجموعه آموزش های برنامه نویسی سایت سورس باران، درباره Getter ها و Setter ها در برنامه نویسی کاتلین به کمک مثال ها یاد می گیرید.

قبل از اینکه در مورد Getter ها و Setter ها در کاتلین اطلاعاتی کسب کنید، حتما کلاس و شی در برنامه نویسی کاتلین را بررسی کنید.

در برنامه نویسی، از Getter ها برای بدست آوردن مقدار یک مشخصه استفاده می شود. به همین ترتیب، از Setter ها برای تنظیم مقدار مشخصه استفاده می شوند.

در برنامه نویسی کاتلین، Getter ها و Setterاختیاری هستند و اگر آنها را در برنامه خود ایجاد نکنید، به طور خودکار تولید می شوند.

Getter ها و Setter ها در کاتلین چگونه کار می کنند؟

به کد زیر دقت کنید؛

class Person {
    var name: String = "defaultValue"
}

 

این کد برابر است با؛

class Person {
    var name: String = "defaultValue"

    // getter
    get() = field

    // setter
    set(value) {
        field = value
    }
}

 

هنگامی که شی از کلاس Person را ایجاد می کنید و مشخصه name را مقدار اولیه می دهید، این مقدار به پارامتر setter مربوط به value ارسال می‌شود و مقدار field به صورت value تعیین می‌شود.

val p = Person()
p.name = "jack"

 

اکنون، وقتی به ویژگی name از شی دسترسی پیدا می کنید، field را به دست می‌آورید، زیرا کدی مانند get() = field وجود دارد،

println("${p.name}")

 

به مثال زیر دقت کنید؛

fun main(args: Array<String>) {

    val p = Person()
    p.name = "jack"
    println("${p.name}")
}

class Person {
    var name: String = "defaultValue"

    get() = field

    set(value) {
        field = value
    }
}

 

خروجی کد به شکل زیر است؛

jack

 

نحوه کارکرد Getter ها و Setter ها به طور پیش فرض اینگونه است. با این حال، می توانید با استفاده از Getter ها و Setter، مقدار مشخصه را تغییر دهید.

 

مثال: تغییر مقدار مشخصه در کاتلین

fun main(args: Array<String>) {

    val maria = Girl()
    maria.actualAge = 15
    maria.age = 15
    println("Maria: actual age = ${maria.actualAge}")
    println("Maria: pretended age = ${maria.age}")

    val angela = Girl()
    angela.actualAge = 35
    angela.age = 35
    println("Angela: actual age = ${angela.actualAge}")
    println("Angela: pretended age = ${angela.age}")
}

class Girl {
    var age: Int = 0
    get() = field
    set(value) {
        field = if (value < 18)
            ۱۸
        else if (value >= 18 && value <= 30)
            value
        else
            value-3
    }

    var actualAge: Int = 0
}

 

خروجی کد به شکل زیر است؛

Maria: actual age = 15
Maria: pretended age = 18
Angela: actual age = 35
Angela: pretended age = 32

 

در اینجا، مشخصه RealAge مطابق انتظار عمل می کند.

با این حال، منطق اضافی وجود دارد که Setter ها برای تغییر مقدار مشخصه age استفاده می کنند.

منبع.

لیست جلسات قبل آموزش برنامه نویسی کاتلین

  1. معرفی کاتلین،  Kotlin Hello World – اولین برنامه کاتلین
  2. انواع متغیرهای پایه در کاتلین
  3. عملگرهای برنامه نویسی کاتلین
  4. تبدیل نوع در برنامه نویسی کاتلین
  5. عبارت ها، گزاره ها و بلوک ها در برنامه نویسی کاتلین
  6. کامنت ها در برنامه نویسی کاتلین
  7. ورودی / خروجی پایه در برنامه نویسی کاتلین
  8. عبارت if در برنامه نویسی کاتلین
  9. عبارت when در برنامه نویسی کاتلین
  10. حلقه های while و do … while در برنامه نویسی کاتلین
  11. حلقه for در برنامه نویسی کاتلین
  12. عبارت break در برنامه نویسی کاتلین
  13. عبارت continue در برنامه نویسی کاتلین
  14. توابع در برنامه نویسی کاتلین
  15. فراخوانی تابع میانوندی در برنامه نویسی کاتلین
  16. آرگومان ‌های پیش ‌فرضآرگومان ‌های پیش ‌فرض و نام ‌دار در برنامه نویسی کاتلین
  17. توابع بازگشتی در برنامه نویسی کاتلین
  18. کلاس و شی در برنامه نویسی کاتلین
  19. سازنده ها در برنامه نویسی کاتلین

 

0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه