কোনও init()
প্রকারের জন্য কোনও পদ্ধতি ঘোষণা করার কোনও উদ্দেশ্য আছে কি ?
আমি কোন কনস্ট্রাক্টরের চেয়ে আমাদের পছন্দ init()
করা উচিত বা কীভাবে ঘোষণা এড়ানো init()
যায় সে বিষয়ে জিজ্ঞাসা করছি না ।
আমি জিজ্ঞাসা করছি যে কোনও পদ্ধতি ঘোষণার পিছনে কোনও যুক্তি আছে init()
(এটি কতটা সাধারণ বিষয় তা দেখে) বা এটি কোনও কোডের গন্ধ এবং এড়ানো উচিত।
init()
বাগ্ধারা খুবই সাধারণ, কিন্তু আমি এখনো কোনো বাস্তব সুবিধা দেখতে আছে।
আমি এমন ধরণের কথা বলছি যা কোনও পদ্ধতির মাধ্যমে সূচনাটি উত্সাহিত করে:
class Demo {
public void init() {
//...
}
}
কখন এই উত্পাদন কোড ব্যবহার করা হবে?
আমি মনে করি এটি একটি কোডের গন্ধ হতে পারে যেহেতু এটি প্রস্তাব করে যে কনস্ট্রাক্টর পুরোপুরি বস্তুটি আরম্ভ করে না, ফলস্বরূপ আংশিকভাবে নির্মিত বস্তুর ফলস্বরূপ। যদি রাষ্ট্রটি সেট না করা হয় তবে অবজেক্টটির অস্তিত্ব থাকা উচিত নয়।
এটি আমার বিশ্বাস করে যে এটি এন্টারপ্রাইজ অ্যাপ্লিকেশনগুলির অর্থে উত্পাদনের গতি বাড়ানোর জন্য ব্যবহৃত কোনও ধরণের প্রযুক্তির অংশ হতে পারে। আমি এই জাতীয় প্রথা সম্পর্কে ভাবতে পারার একমাত্র যৌক্তিক কারণ, আমি জানি না তবে কীভাবে এটি উপকারী হবে তা আমি নিশ্চিত নই।
init()
, বা বিপরীতে?) যদি তাই হয় তবে এটি বেস-ক্লাসকে "পোস্ট-কনস্ট্রাক্টর" চালিয়ে যাওয়ার এক উদাহরণ "যা কেবলমাত্র সবচেয়ে উত্সযুক্ত শ্রেণীর নির্মাণ শেষ হওয়ার পরে কার্যকর করা যেতে পারে। এটি মাল্টি-ফেজ আরম্ভের উদাহরণ।