Kotlin Extension Functions – মজার ভাষায় সহজ ব্যাখ্যা!

 

🚀 Kotlin Extension Functions – মজার ভাষায় সহজ ব্যাখ্যা! 🎉

📌 Extension Function মানে কী?

ভাবুন, আপনার কাছে একটা গাড়ি 🚗 আছে।
এখন আপনি চাইছেন, গাড়ির সাথে একটা নতুন ফিচার যোগ করতে (যেমন 🚀 "Turbo Mode")!

🔥 কিন্তু সমস্যা হলো
গাড়িটা আপনার তৈরি না, তাই সরাসরি কোড এডিট করতে পারবেন না! 🤯

এখন আপনি কী করবেন?
👉 Extension Function ব্যবহার করবেন! 🎯


🚀 Extension Function কিভাবে কাজ করে?

Kotlin-এ আপনি বিদ্যমান ক্লাসে নতুন ফাংশন যোগ করতে পারেন
কিন্তু ইনহেরিটেন্স (extends) করা লাগবে না! 🎉


🛠️ ধরুন, আমাদের কাছে String আছে, আর আমরা চাই নতুন addEmoji() ফাংশন যোগ করতে!

fun String.addEmoji(): String {
    return "$this 😎"  // 'this' মানে এই String অবজেক্ট
}

এখন String অবজেক্ট যেকোনো জায়গায় এই ফাংশন ব্যবহার করতে পারবে! 🎯


📌 কিভাবে ব্যবহার করবো?

fun main() {
    val message = "Hello Kotlin"
    println(message.addEmoji())  // 👉 Output: Hello Kotlin 😎
}

দেখুন! String ক্লাসে নতুন addEmoji() ফাংশন যোগ হয়ে গেলো! 🎉


🔄 আরেকটা মজার উদাহরণ – swap() ফাংশন (List-এর দুইটা আইটেম এক্সচেঞ্জ করা)

fun <T> MutableList<T>.swap(index1: Int, index2: Int) {
    val temp = this[index1]  // 'this' মানে এই MutableList
    this[index1] = this[index2]
    this[index2] = temp
}

📌 কিভাবে ব্যবহার করবো?

fun main() {
    val numbers = mutableListOf(1, 2, 3, 4)
    numbers.swap(0, 2)  // ✅ index 0 & 2 swap হবে!
    println(numbers)  // 👉 Output: [3, 2, 1, 4]
}

এখন numbers.swap(0, 2) ব্যবহার করলেই সহজে দুই আইটেম এক্সচেঞ্জ হয়ে যাবে!


🚨 গুরুত্বপূর্ণ বিষয় – যদি ক্লাসের মধ্যে আগে থেকেই একই নামে মেথড থাকে?

Extension Function বিদ্যমান মেথড ওভাররাইড করতে পারে না!
Kotlin সবসময় অরিজিনাল মেথডকেই প্রথমে প্রাধান্য দেবে!

🔥 মানে যদি String ক্লাসের মধ্যে আগে থেকেই addEmoji() নামে মেথড থাকতো, তাহলে আমাদের এক্সটেনশন ফাংশন কাজ করতো না!


🎯 Extension Function কেন ব্যবহার করবেন?

বিদ্যমান ক্লাসে নতুন ফিচার যোগ করা যায়, ইনহেরিটেন্স ছাড়াই!
কোড ক্লিন, রিডেবল, ও ইজি টু মেইনটেইন হয়!
Kotlin-এর শক্তিশালী ফিচারগুলোর মধ্যে এটি অন্যতম!


🔥 শেষ কথা – Kotlin Extension Functions শেখার পর, আপনি কোডকে সুপার পাওয়ার দিতে পারবেন! 🚀

💡 এখন আপনি যেকোনো ক্লাসে নিজের মতো করে নতুন ফাংশন যোগ করতে পারবেন! 🎉

Comments

Popular posts from this blog

AI (Artificial Intelligence) সহজভাবে বোঝার জন্য একদম মস্তিষ্ক-বান্ধব ব্যাখ্যা 🧠🤖

🧠 Regex কী?

Kotlin-এ ভেরিয়েবল ঘোষণা করার দুই উপায়