Kotlin Constructor Chaining – এক কনস্ট্রাক্টরের ভিতরে আরেক কনস্ট্রাক্টর কল করা!
🔄 Kotlin Constructor Chaining – এক কনস্ট্রাক্টরের ভিতরে আরেক কনস্ট্রাক্টর কল করা! 🤔
কখনো কি ভেবেছেন, কিভাবে একটি ক্লাসের কনস্ট্রাক্টরের মধ্যে অন্য কনস্ট্রাক্টরকে কল করা যায়?
এটাকে বলা হয় Constructor Chaining! 🏗️
Constructor Chaining এর মাধ্যমে আমরা একটি কনস্ট্রাক্টরকে অন্য কনস্ট্রাক্টরের সাথে সংযুক্ত করতে পারি, যা কোডের পুনঃব্যবহারযোগ্যতা এবং পরিষ্কারতা বাড়ায়! ✨
🛠️ 1️⃣ Primary Constructor & Secondary Constructor
Kotlin-এ দুটি প্রধান ধরনের কনস্ট্রাক্টর থাকে:
- Primary Constructor – ক্লাসের সাথে সরাসরি সংযুক্ত।
- Secondary Constructor – অতিরিক্ত কনস্ট্রাক্টর, যা ক্লাসের ভিতরে ডিফাইন করা হয়।
Constructor Chaining তখন হয় যখন একটি কনস্ট্রাক্টর আরেক কনস্ট্রাক্টরের সাহায্য নেয়! 💡
🏗️ 2️⃣ Constructor Chaining এর উদাহরণ
Primary Constructor ব্যবহার করে:
open class Animal(val name: String) {
init {
println("Animal is created: $name")
}
}
class Dog(name: String, val breed: String) : Animal(name) {
init {
println("Dog breed is: $breed")
}
}
fun main() {
val myDog = Dog("Buddy", "Golden Retriever")
}
📌 এখানে:
- Dog ক্লাসে
nameপ্যারামিটার, Primary Constructor থেকেAnimalক্লাসকে কল করছে! - প্রথমে Animal ক্লাসের
initব্লক রান হবে, তারপর Dog ক্লাসেরinitব্লক।
Output:
Animal is created: Buddy
Dog breed is: Golden Retriever
🏗️ 3️⃣ Secondary Constructor এর মাধ্যমে Constructor Chaining
Secondary constructor ব্যবহার করে আমরা Primary Constructor বা আরেকটি Secondary Constructor কে কল করতে পারি।
open class Animal(val name: String) {
init {
println("Animal is created: $name")
}
constructor(name: String, age: Int) : this(name) {
println("Age is: $age")
}
}
class Dog(name: String, breed: String) : Animal(name) {
init {
println("Dog breed is: $breed")
}
constructor(name: String, breed: String, age: Int) : this(name, breed) {
println("Dog age is: $age")
}
}
fun main() {
val myDog = Dog("Buddy", "Golden Retriever", 3)
}
📌 এখানে:
- Dog ক্লাসে
name,breed, এবংageতিনটি প্যারামিটার রয়েছে। - Secondary Constructor
Dog(name, breed, age)প্রথমেthis(name, breed)কে কল করেছে, তারপর নিজেরinitব্লক চালিয়েছে।
Output:
Animal is created: Buddy
Dog breed is: Golden Retriever
Dog age is: 3
✅ 4️⃣ Constructor Chaining এর সুবিধা
- কোড পুনঃব্যবহার – একাধিক কনস্ট্রাক্টর দিয়ে একই কনস্ট্রাক্টর লজিকের পুনঃব্যবহার করা যায়!
- কমপ্লেক্স ইনিশিয়ালাইজেশন – একাধিক কনস্ট্রাক্টর দিয়ে ক্লাস ইনিশিয়ালাইজ করা যায়।
- ক্লিন কোড – কোড পরিষ্কার এবং সহজভাবে পড়া যায়।
🎯 Constructor Chaining এর প্রয়োজনীয়তা
Kotlin-এ Constructor Chaining খুবই শক্তিশালী টুল হতে পারে, যখন আপনার একাধিক কনস্ট্রাক্টর থাকে যেগুলোর মধ্যে কিছু লজিক বা ইনিশিয়ালাইজেশন শেয়ার করা দরকার!
📌 কোনো কনস্ট্রাক্টরের মধ্যে অন্য কনস্ট্রাক্টরকে কল করে কোডকে আরও সোজা, পরিষ্কার ও পুনঃব্যবহারযোগ্য করা যায়! 🚀
Comments
Post a Comment