📌 āĻ•āϟāϞিāύেāϰ āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি (Extension Property) āϏāĻšāϜāĻ­াāĻŦে

 

📌 āĻ•āϟāϞিāύেāϰ āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি (Extension Property) āϏāĻšāϜāĻ­াāĻŦে

🧐 āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āĻ•ী?

āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āĻšāϞো āĻāĻŽāύ āĻāĻ•āϟি āĻŦৈāĻļিāώ্āϟ্āϝ, āϝা āĻ•োāύো āĻ•্āϞাāϏেāϰ āĻŽāϧ্āϝে āύা āϞিāĻ–েāĻ“ āϏেāχ āĻ•্āϞাāϏে āύāϤুāύ āĻĒ্āϰāĻĒাāϰ্āϟি (āĻ­েāϰিāϝ়েāĻŦāϞেāϰ āĻŽāϤো) āϝোāĻ— āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে।

🚀 āϏāĻšāϜ āĻ­াāώাāϝ়: āĻŽāύে āĻ•āϰুāύ, āφāĻĒāύাāϰ āĻ•াāĻ›ে āĻāĻ•āϟি āĻĒুāϰোāύো āĻĢোāύ 📱 āφāĻ›ে, āĻ•িāύ্āϤু āφāĻĒāύি āϚাāϚ্āĻ›েāύ āĻāϤে āύāϤুāύ āĻāĻ•āϟি āĻĢিāϚাāϰ āϝোāĻ— āĻ•āϰāϤে। āĻĢোāύেāϰ āĻšাāϰ্āĻĄāĻ“āϝ়্āϝাāϰ āύা āĻŦāĻĻāϞিāϝ়েāχ āφāĻĒāύি āĻ•িāĻ›ু āϏāĻĢāϟāĻ“āϝ়্āϝাāϰ āφāĻĒāĻĄেāϟ āĻ•āϰে āύāϤুāύ āϏুāĻŦিāϧা āĻĒেāϝ়ে āĻ—েāϞেāύ! 💡

āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āĻ িāĻ• āĻāχ āĻ•াāϜāϟাāχ āĻ•āϰে! āĻāϟি āĻ•োāύো āĻ•্āϞাāϏেāϰ āϏোāϰ্āϏ āĻ•োāĻĄ āύা āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰেāĻ“ āύāϤুāύ āĻĒ্āϰāĻĒাāϰ্āϟি āϝোāĻ— āĻ•āϰāϤে āĻĻেāϝ়।


🏗 āĻ•োāĻĄ āωāĻĻাāĻšāϰāĻŖ (Example)

āϧāϰুāύ, āφāĻŽাāĻĻেāϰ āĻāĻ•āϟি Person āĻ•্āϞাāϏ āφāĻ›ে, āϝাāϰ āĻŽāϧ্āϝে firstName āĻāĻŦং lastName āφāĻ›ে। āĻāĻ–āύ āφāĻŽāϰা āϚাāχ, āĻāχ āĻ•্āϞাāϏে āĻāĻ•āϟি āύāϤুāύ āĻĒ্āϰāĻĒাāϰ্āϟি fullName āϝোāĻ— āĻ•āϰāϤে, āĻ•িāύ্āϤু āĻ•্āϞাāϏāϟি āύা āĻŦāĻĻāϞিāϝ়ে।

class Person(val firstName: String, val lastName: String)

// āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āϝোāĻ— āĻ•āϰা
val Person.fullName: String
    get() = "$firstName $lastName"

fun main() {
    val person = Person("Rahim", "Khan")
    println(person.fullName)  // Output: Rahim Khan
}

āĻ•ি āĻšāϞো āĻāĻ–াāύে?

  • Person āĻ•্āϞাāϏেāϰ āĻ­িāϤāϰে fullName āĻ›িāϞ āύা।
  • āφāĻŽāϰা val Person.fullName āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āĻšিāϏেāĻŦে āϘোāώāĻŖা āĻ•āϰāϞাāĻŽ।
  • āĻāϟি get() āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে firstName āĻāĻŦং lastName āĻāĻ•āϤ্āϰে āϜো⧜া āϞাāĻ—িāϝ়ে āύāϤুāύ āĻŽাāύ āϤৈāϰি āĻ•āϰāϞো।

āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āĻ•েāύ āĻĻāϰāĻ•াāϰ?

1️⃣ āĻ•োāĻĄ āĻĒāϰিāĻŦāϰ্āϤāύ āύা āĻ•āϰেāĻ“ āύāϤুāύ āϏুāĻŦিāϧা āϝোāĻ— āĻ•āϰা āϝা⧟।
2️⃣ āϏ্āϟ্āϝাāύ্āĻĄাāϰ্āĻĄ āϞাāχāĻŦ্āϰেāϰি āĻŦা āĻĨাāϰ্āĻĄ-āĻĒাāϰ্āϟি āĻ•োāĻĄেāϰ āĻ•্āώেāϤ্āϰে āĻ–ুāĻŦāχ āωāĻĒāĻ•াāϰী।
3️⃣ āĻ•োāĻĄ āĻ•্āϞিāύ āĻāĻŦং āϰিāĻĄেāĻŦāϞ āĻšā§Ÿ।


⚠️ āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟিāϰ āϏীāĻŽাāĻŦāĻĻ্āϧāϤা (Limitations)

❌ āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āĻŦ্āϝাāĻ•িং āĻĢিāϞ্āĻĄ (backing field) āϰাāĻ–āϤে āĻĒাāϰে āύা, āϤাāχ āφāĻŽāϰা set āĻŦ্āϞāĻ• āĻĻি⧟ে āύāϤুāύ āĻŽাāύ āϏংāϰāĻ•্āώāĻŖ āĻ•āϰāϤে āĻĒাāϰি āύা।

🔴 āϝেāϟা āϏāĻŽ্āĻ­āĻŦ āύ⧟:

var Person.age: Int = 25  // ❌ āĻāϟা āĻ­ুāϞ āĻšāĻŦে, āĻ•াāϰāĻŖ āĻŦ্āϝাāĻ•িং āĻĢিāϞ্āĻĄ āύেāχ

āĻ•িāύ্āϤু āφāĻŽāϰা get() āĻāĻŦং set() āĻĻি⧟ে āĻ•াāϜ āϚাāϞাāϤে āĻĒাāϰি:

var Person.age: Int
    get() = 25
    set(value) { println("New age: $value") }

đŸŽ¯ āĻļেāώ āĻ•āĻĨা

  • āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āϏāĻšāϜেāχ āύāϤুāύ āĻĒ্āϰāĻĒাāϰ্āϟি āϝোāĻ— āĻ•āϰা āϝাāϝ়।
  • āĻāϟি āĻļুāϧু getter/setter āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āĻ•াāϜ āĻ•āϰে, āĻ•িāύ্āϤু āύāϤুāύ āĻĢিāϞ্āĻĄ āϤৈāϰি āĻ•āϰāϤে āĻĒাāϰে āύা।
  • āĻĒ্āϰāĻĒাāϰ্āϟি āϝোāĻ— āĻ•āϰাāϰ āϜāύ্āϝ āĻ•্āϞাāϏেāϰ āϏোāϰ্āϏ āĻ•োāĻĄ āĻĒāϰিāĻŦāϰ্āϤāύ āĻ•āϰāϤে āĻšā§Ÿ āύা, āϝা āĻāϟি āĻ–ুāĻŦāχ āĻ•াāϰ্āϝāĻ•āϰ āĻ•āϰে āϤোāϞে।

🏆 āĻļāϰ্āϟāĻ•াāϟ āĻŽāύ্āϤ্āϰ:
āĻāĻ•্āϏāϟেāύāĻļāύ āĻĢাংāĻļāύ = āύāϤুāύ āĻĢাংāĻļāύ āϝোāĻ— āĻ•āϰা
āĻāĻ•্āϏāϟেāύāĻļāύ āĻĒ্āϰāĻĒাāϰ্āϟি = āύāϤুāύ āĻ­েāϰিāϝ়েāĻŦāϞ āϝোāĻ— āĻ•āϰা (getter/setter)

đŸ”Ĩ āφāĻļা āĻ•āϰি, āϏāĻšāϜāĻ­াāĻŦে āĻŦুāĻāϤে āĻĒেāϰেāĻ›েāύ! 😊 āĻ•োāύো āĻĒ্āϰāĻļ্āύ āĻĨাāĻ•āϞে āϜাāύাāύ! 🚀

Comments

Popular posts from this blog

AI (Artificial Intelligence) āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻাāϰ āϜāύ্āϝ āĻāĻ•āĻĻāĻŽ āĻŽāϏ্āϤিāώ্āĻ•-āĻŦাāύ্āϧāĻŦ āĻŦ্āϝাāĻ–্āϝা 🧠🤖

🧠 Regex āĻ•ী?

Kotlin-āĻ āĻ­েāϰিāϝ়েāĻŦāϞ āϘোāώāĻŖা āĻ•āϰাāϰ āĻĻুāχ āωāĻĒাāϝ়