মূল পার্থক্য – জাভাতে স্ট্যাটিক বনাম ফাইনাল
প্রতিটি প্রোগ্রামিং ভাষার একটি নির্দিষ্ট সিনট্যাক্স থাকে। প্রোগ্রাম লেখার সময় প্রোগ্রামারকে এই সিনট্যাক্সগুলি অনুসরণ করা উচিত। প্রোগ্রামিং ল্যাঙ্গুয়েজের কীওয়ার্ডের কাজ অনুযায়ী নির্দিষ্ট অর্থ রয়েছে। এগুলি প্রোগ্রামিং ভাষা দ্বারা সরবরাহ করা হয় এবং ব্যবহারকারী-সংজ্ঞায়িত ভেরিয়েবল, পদ্ধতি, ক্লাস ইত্যাদির জন্য ব্যবহার করা যায় না। জাভাতে স্ট্যাটিক এবং চূড়ান্ত দুটি কীওয়ার্ড। এই নিবন্ধটি জাভাতে স্ট্যাটিক এবং ফাইনালের মধ্যে পার্থক্য নিয়ে আলোচনা করে। জাভাতে স্ট্যাটিক এবং ফাইনালের মধ্যে মূল পার্থক্য হল যে স্ট্যাটিক ক্লাস মেম্বারকে সংজ্ঞায়িত করতে ব্যবহৃত হয় যা ক্লাসের যেকোনো বস্তু থেকে স্বাধীনভাবে ব্যবহার করা যেতে পারে যখন ফাইনালটি একটি ধ্রুবক পরিবর্তনশীল বা একটি পদ্ধতি যা ওভাররাইড করা যায় না বা একটি ক্লাস ঘোষণা করতে ব্যবহৃত হয় উত্তরাধিকারসূত্রে পাওয়া যাবে না।
জাভাতে স্ট্যাটিক কি?
একটি ক্লাস ডেটা সদস্য (গুণাবলী) এবং পদ্ধতি নিয়ে গঠিত। পদ্ধতিগুলিকে কল করার জন্য, সেই নির্দিষ্ট শ্রেণীর একটি বস্তু থাকা উচিত। যখন একটি পদ্ধতিকে স্ট্যাটিক হিসাবে ঘোষণা করা হয়, তখন সেই পদ্ধতিটিকে কল করার জন্য একটি বস্তু তৈরি করার প্রয়োজন হয় না। পদ্ধতিটি ক্লাসের নাম ব্যবহার করে বলা যেতে পারে। নিচের প্রোগ্রামটি দেখুন।
চিত্র 01: স্ট্যাটিক ভেরিয়েবল এবং স্ট্যাটিক পদ্ধতি সহ জাভা প্রোগ্রাম
উপরের প্রোগ্রাম অনুসারে, ক্লাস এ নম্বর ভেরিয়েবল এবং প্রদর্শন পদ্ধতি রয়েছে। উভয়ই স্ট্যাটিক সদস্য। অতএব, সংখ্যা পরিবর্তনশীল এবং প্রদর্শন পদ্ধতি অ্যাক্সেস করার জন্য একটি বস্তু তৈরি করার প্রয়োজন নেই। নম্বরটি প্রিন্ট করতে এবং মেথড ডিসপ্লে কল করতে প্রোগ্রামার সরাসরি ক্লাসের নাম লিখতে পারে। সুতরাং, একটি বস্তুকে তাৎক্ষণিক করার কোন প্রয়োজন নেই।যদি সংখ্যা পরিবর্তনশীল এবং প্রদর্শন পদ্ধতি অ-স্থির হয়, তাহলে A টাইপের একটি বস্তু থাকা উচিত।
চিত্র 02: স্ট্যাটিক ব্লকের ব্যবহার
উপরের প্রোগ্রামটিতে স্ট্যাটিক ব্লক এবং প্রধান পদ্ধতি রয়েছে। ক্লাস লোড হলে স্ট্যাটিক ব্লক বলা হয়। অতএব, স্ট্যাটিক ব্লকের স্টেটমেন্ট মেইন ব্লকের স্টেটমেন্টের আগে এক্সিকিউট হয়। যদি অনেকগুলি স্ট্যাটিক ব্লক থাকে তবে সেগুলি ক্রমানুসারে কার্যকর হবে৷
জাভাতে চূড়ান্ত কি?
প্রোগ্রামে, বিভিন্ন ধরনের ভেরিয়েবল থাকতে পারে। যদি int x=1 হিসাবে একটি ভেরিয়েবল থাকে; পরবর্তীতে প্রোগ্রামে, সেই ভেরিয়েবল মানটিকে অন্য কোনো মানতে পরিবর্তন করা যেতে পারে। একটি ভেরিয়েবল যা চূড়ান্ত হিসাবে ঘোষণা করা হয়েছে এবং একটি মান সহ শুরু করা হয়েছে তা পরে প্রোগ্রামে পরিবর্তন করা যাবে না।
চিত্র 03: চূড়ান্ত পরিবর্তনশীল এবং উত্তরাধিকার সহ প্রোগ্রাম
উপরের প্রোগ্রাম অনুসারে, x একটি চূড়ান্ত পরিবর্তনশীল। এটি একটি মান 5 বরাদ্দ করা হয়েছে। এটি অন্য কিছু পরিবর্তন করা যাবে না কারণ এটি চূড়ান্ত হিসাবে ঘোষণা করা হয়েছে। জাভা অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) সমর্থন করে। OOP এর একটি স্তম্ভ হল একটি পলিমারফিজম। এক ধরনের পলিমরফিজম ওভাররাইডিং। ক্লাস A এর প্রদর্শন পদ্ধতি রয়েছে। ক্লাস B ক্লাস A প্রসারিত করে এবং এর নিজস্ব প্রদর্শন পদ্ধতি রয়েছে। B টাইপের একটি অবজেক্ট তৈরি করার সময় এবং ডিসপ্লে পদ্ধতিতে কল করার সময় আউটপুট হিসাবে "B" প্রিন্ট করবে। ক্লাস A-এর প্রদর্শন পদ্ধতি ক্লাস B-এর প্রদর্শন পদ্ধতি দ্বারা ওভাররাইড করা হয়েছে।
প্রোগ্রামার যদি কোন মেথডকে ওভাররাইডিং এড়াতে চান তাহলে তিনি সেই মেথডের জন্য চূড়ান্ত কীওয়ার্ড ব্যবহার করতে পারেন। যদি A শ্রেণীতে প্রদর্শন পদ্ধতি চূড়ান্ত হয়, B এর প্রদর্শন পদ্ধতিটি একটি ত্রুটি দেবে কারণ সেই পদ্ধতিটি ওভাররাইড করা যাবে না।
চিত্র 04: পদ্ধতির চূড়ান্ত কীওয়ার্ড
OOP এর আরেকটি স্তম্ভ হল উত্তরাধিকার। এটি ইতিমধ্যে বিদ্যমান কোড পুনরায় ব্যবহার করতে সাহায্য করে। নতুন ক্লাসটি বিদ্যমান ক্লাস থেকে প্রসারিত হতে পারে এবং বিদ্যমান ক্লাসের ডেটা সদস্য এবং পদ্ধতিগুলি ব্যবহার করতে পারে। যদি একটি ক্লাসের উত্তরাধিকার বন্ধ করার প্রয়োজন হয়, তাহলে প্রোগ্রামার 'ফাইনাল' কীওয়ার্ড ব্যবহার করতে পারে। নিচের প্রোগ্রামটি দেখুন।
চিত্র 05: ক্লাসের চূড়ান্ত কীওয়ার্ড
উপরের প্রোগ্রাম অনুসারে, ক্লাস A চূড়ান্ত হিসাবে ঘোষণা করা হয়েছে। যখন ক্লাস B A প্রসারিত করে, এটি একটি ত্রুটি দেয় কারণ ক্লাস A চূড়ান্ত হিসাবে ঘোষণা করা হয়। এটি অন্য শ্রেণীর দ্বারা উত্তরাধিকারসূত্রে পাওয়া যাবে না৷
জাভাতে স্ট্যাটিক এবং ফাইনালের মধ্যে মিল কী?
জাভাতে স্ট্যাটিক এবং ফাইনাল উভয়ই কীওয়ার্ড।
জাভাতে স্ট্যাটিক এবং ফাইনালের মধ্যে পার্থক্য কী?
জাভাতে স্ট্যাটিক বনাম ফাইনাল |
|
স্ট্যাটিক কীওয়ার্ড বোঝায় যে একটি সদস্য ভেরিয়েবল বা পদ্ধতি, এটি যে শ্রেণির অন্তর্গত তার একটি ইন্সট্যান্টেশনের প্রয়োজন ছাড়াই অ্যাক্সেস করা যেতে পারে। | চূড়ান্ত কীওয়ার্ডটি এমন একটি সত্তাকে নির্দেশ করে যা শুধুমাত্র একবার বরাদ্দ করা যেতে পারে। |
ভেরিয়েবল | |
স্ট্যাটিক ভেরিয়েবল পুনরায় চালু করা যেতে পারে। | চূড়ান্ত ভেরিয়েবল পুনরায় আরম্ভ করা যাবে না। |
পদ্ধতি | |
অন্যান্য স্ট্যাটিক পদ্ধতিতে কল করা যেতে পারে এবং শুধুমাত্র ক্লাসের স্ট্যাটিক সদস্যদের অ্যাক্সেস করতে পারে। | চূড়ান্ত পদ্ধতি ওভাররাইড করা যাবে না। |
ক্লাস | |
স্ট্যাটিক ক্লাস অবজেক্ট তৈরি করা যাবে না। এতে শুধুমাত্র স্ট্যাটিক সদস্য রয়েছে। | চূড়ান্ত শ্রেণী অন্য শ্রেণীর দ্বারা উত্তরাধিকারসূত্রে পাওয়া যাবে না। |
ব্লক | |
স্ট্যাটিক কীওয়ার্ডটি একটি ব্লকে ব্যবহার করা যেতে পারে। | চূড়ান্ত কীওয়ার্ডটি ব্লকের সাথে ব্যবহার করা হয় না। |
সারাংশ – জাভাতে স্ট্যাটিক বনাম ফাইনাল
এই নিবন্ধটি জাভাতে স্ট্যাটিক এবং ফাইনালের মতো দুটি কীওয়ার্ড নিয়ে আলোচনা করেছে। জাভাতে স্ট্যাটিক এবং ফাইনালের মধ্যে পার্থক্য হল যে স্ট্যাটিক ক্লাস মেম্বারকে সংজ্ঞায়িত করতে ব্যবহৃত হয় যা ক্লাসের যেকোন অবজেক্ট থেকে স্বাধীনভাবে ব্যবহার করা যেতে পারে যখন ফাইনালটি একটি ধ্রুবক পরিবর্তনশীল বা একটি পদ্ধতি যা ওভাররাইড করা যায় না বা একটি ক্লাস যা করতে পারে না ঘোষণা করতে ব্যবহৃত হয়। উত্তরাধিকারসূত্রে পাওয়া