Operator Overloading খুব সহজ করে

 Operator Overloading খুব সহজ করে বুঝলে:

আমরা সাধারণত +, -, *, / এর মতো অপারেটর ব্যবহার করি সংখ্যা (+ করা, গুণ করা ইত্যাদি) নিয়ে কাজ করার জন্য। কিন্তু Kotlin-এ আপনি চাইলে আপনার নিজের ক্লাসের জন্যও এই অপারেটরগুলো কাস্টমাইজ করতে পারেন! এটাকেই Operator Overloading বলে।

✨ সহজ উদাহরণ:

ধরুন, আমাদের কাছে একটি Point নামে ক্লাস আছে, যেখানে x ও y নামের দুটি সংখ্যা আছে।

class Point(val x: Int, val y: Int)

এখন, আমরা চাই যেন দুইটি Point-কে + দিয়ে যোগ করতে পারি, যেমন:

val p1 = Point(3, 4)
val p2 = Point(1, 2)
val result = p1 + p2 // আমরা চাই এটি সম্ভব হোক!

কিন্তু ডিফল্টভাবে + অপারেটর দুটি Point যোগ করতে পারবে না! তাই আমাদেরকে operator fun plus ফাংশন লিখতে হবে

operator কীওয়ার্ড দিয়ে Overload করা:

class Point(val x: Int, val y: Int) {
    operator fun plus(other: Point): Point {
        return Point(this.x + other.x, this.y + other.y)
    }
}

এখন, আমরা দুইটি Point যোগ করতে পারবো:

val p1 = Point(3, 4)
val p2 = Point(1, 2)

val result = p1 + p2
println("New Point: (${result.x}, ${result.y})") // Output: New Point: (4, 6)

📌 কিভাবে কাজ করলো?

  • + অপারেটর ব্যবহার করলেই Kotlin operator fun plus() ফাংশনকে কল করবে।
  • আমরা দুইটি Point-এর x ও y যোগ করে নতুন Point তৈরি করেছি।

🎯 অন্যান্য অপারেটর Overload করা:

operator fun minus(other: Point): Point {
    return Point(this.x - other.x, this.y - other.y)
}

এখন p1 - p2 ও সম্ভব হবে! 🎉

🚀 উপসংহার

Operator Overloading ব্যবহার করলে কোড সহজ ও পড়তে সুবিধাজনক হয়। তবে অতিরিক্ত ব্যবহার না করাই ভালো, কারণ এটি কোডের পড়ার যোগ্যতা (readability) কমাতে পারে

🔹 বুঝতে পেরেছেন? 😃

Comments

Popular posts from this blog

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

🧠 Regex কী?

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