জাভাতে প্যাকেজগুলি: জাভাতে প্যাকেজগুলি কীভাবে তৈরি এবং ব্যবহার করবেন?



জাভাতে থাকা প্যাকেজগুলির এই পোস্টটি আপনাকে জাভা প্যাকেজগুলি কীভাবে তৈরি করতে এবং দক্ষ জাভা প্রোগ্রামার হতে জাভাতে সেগুলি কীভাবে তৈরি করতে এবং ব্যবহার করতে হয় তা বুঝতে সহায়তা করবে।

সবচেয়ে উদ্ভাবনী এক প্যাকেজ ধারণা।জাভাতে প্যাকেজগুলি ক্লাস, ইন্টারফেস, গণনা, টীকাগুলি এবং উপ-প্যাকেজগুলির একটি গ্রুপকে গুপ্ত করার একটি উপায়। ধারণামূলকভাবে, আপনি জাভা প্যাকেজগুলি আপনার কম্পিউটারের বিভিন্ন ফোল্ডারের অনুরূপ হিসাবে ভাবতে পারেন। এই টিউটোরিয়ালে, আমরা প্যাকেজগুলির বেসিকগুলি কভার করব

নীচে তালিকাভুক্ত এই নিবন্ধে বিষয়গুলি অন্তর্ভুক্ত করা হয়েছে:





জাভা প্যাকেজ কি?

জাভা প্যাকেজটি কার্যকারিতার উপর ভিত্তি করে সমষ্টিগত শ্রেণীর, ইন্টারফেস এবং উপ-শ্রেণীর গোষ্ঠীবদ্ধ করার একটি প্রক্রিয়া। সফটওয়্যারটি যখন লেখা থাকে , এটি কয়েকশো বা এমনকি হাজার হাজার স্বতন্ত্র শ্রেণীর সমন্বয়ে গঠিত হতে পারে। আমিটি প্যাকেজগুলিতে সম্পর্কিত ক্লাস এবং ইন্টারফেস স্থাপন করে জিনিসগুলিকে সংগঠিত রাখার জন্য অর্থবোধ করে।

কোডিংয়ের সময় প্যাকেজগুলি ব্যবহার করা যেমন অনেক সুবিধা দেয়:



    • পুনঃব্যবহারযোগ্যতা: অন্য প্রোগ্রামের প্যাকেজগুলিতে থাকা ক্লাসগুলি সহজেই পুনরায় ব্যবহার করা যেতে পারে
    • নাম বিরোধ: প্যাকেজআমাদের অনন্যভাবে একটি শ্রেণি সনাক্ত করতে সহায়তা করুন, উদাহরণস্বরূপ, আমরা থাকতে পারি company.sales.Employee এবং কোম্পানী.মার্কেটিং.এম্পপ্লয় ক্লাস
    • নিয়ন্ত্রিত অ্যাক্সেস: অফার অ্যাক্সেস সুরক্ষা যেমন পিঘোরানো ক্লাস, ডিফল্ট ক্লাস এবং প্রাইভেট ক্লাস
    • ডেটা এনক্যাপসুলেশন : তারা পিক্লাসগুলি আড়াল করার একটি উপায় ঘোরান, অন্যান্য প্রোগ্রামগুলি কেবলমাত্র অভ্যন্তরীণ ব্যবহারের জন্য বোঝানো ক্লাস অ্যাক্সেস করা থেকে বিরত রাখুন
    • রক্ষণাবেক্ষণ: প্যাকেজ সহ,আপনি আপনার প্রকল্পটি আরও ভালভাবে সংগঠিত করতে পারেন এবং সহজেই সম্পর্কিত ক্লাসগুলি সনাক্ত করতে পারেন

জাভাতে কোডিংয়ের সময় প্যাকেজগুলি ব্যবহার করা ভাল অভ্যাস। প্রোগ্রামার হিসাবে, আপনি পারেনসহজেই খুঁজে বের করুন , ইন্টারফেস, গণনা এবং সম্পর্কিত টীকাগুলি। জাভাতে আমাদের দুটি ধরণের প্যাকেজ রয়েছে।

জাভাতে প্যাকেজগুলির প্রকার

প্যাকেজটি ব্যবহারকারী দ্বারা নির্ধারিত হয়েছে কিনা তার ভিত্তিতে প্যাকেজগুলি দুটি বিভাগে বিভক্ত:

  1. অন্তর্নির্মিত প্যাকেজগুলি
  2. ব্যবহারকারী সংজ্ঞায়িত প্যাকেজ

অন্তর্নির্মিত প্যাকেজগুলি

অন্তর্নির্মিত প্যাকেজগুলি বা পূর্বনির্ধারিত প্যাকেজগুলি সেগুলির অংশ হিসাবে আসে (জাভা ডেভলপমেন্ট কিট) জাভা প্রোগ্রামারটির কাজ সহজ করার জন্য। এগুলিতে জাভা API এর একটি অংশ হিসাবে প্রচুর সংখ্যক পূর্বনির্ধারিত শ্রেণি এবং ইন্টারফেস রয়েছে। সাধারণত ব্যবহৃত অন্তর্নির্মিত প্যাকেজগুলির মধ্যে কয়েকটি হল জাভা.এলং, জাভা.ইও, জাভা.ইটিল, জাভা.অ্যাপলেট ইত্যাদি Here এখানে অন্তর্নির্মিত প্যাকেজটি ব্যবহার করে একটি সাধারণ প্রোগ্রাম।



প্যাকেজ এডুরেকা আমদানি java.util.ArrayList বর্গ বিল্টইনপ্যাকেজ {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {অ্যারেলিস্ট মাইলিস্ট = নতুন অ্যারেলিস্ট (3) মাইলিস্ট.এডিডি (3) মাইলিস্ট.এডিডি (2) মাইলিস্ট.এডডি (1) সিস্টেম। out.println ('তালিকার উপাদানগুলি হ'ল:' + মাইলিস্ট)}

আউটপুট:

তালিকার উপাদানগুলি হ'ল: [3, 2, 1]

অ্যারেলিস্ট শ্রেণিটি java.util প্যাকেজের অন্তর্গত। এটি ব্যবহার করতে, আমদানি বিবৃতি ব্যবহার করে আমাদের প্যাকেজটি আমদানি করতে হবে। কোডের প্রথম লাইন আমদানি করুন java.util.ArrayList java.util প্যাকেজ এবং ব্যবহার আমদানি করে যা উপ প্যাকেজ ব্যবহারে উপস্থিত রয়েছে।

ব্যবহারকারী সংজ্ঞায়িত প্যাকেজ

ব্যবহারকারী-সংজ্ঞায়িত প্যাকেজগুলি হ'ল যা ব্যবহারকারীদের দ্বারা গ্রুপ সম্পর্কিত ক্লাস, ইন্টারফেস এবং সাব প্যাকেজগুলির জন্য বিকাশ করা হয়েছে। উদাহরণস্বরূপ প্রোগ্রামের সহায়তায় প্যাকেজগুলি কীভাবে তৈরি করতে হয়, প্যাকেজগুলির মধ্যে জাভা প্রোগ্রামগুলি সংকলন করে সেগুলি কার্যকর করা যায় তা দেখুন।

জাভাতে প্যাকেজ তৈরি করা হচ্ছে

জাভাতে প্যাকেজ তৈরি করা খুব সহজ কাজ। প্যাকেজটির জন্য একটি নাম চয়ন করুন এবং এটিকে অন্তর্ভুক্ত করুন প্যাকেজ জাভা উত্স ফাইলের প্রথম বিবৃতি হিসাবে কমান্ড। জাভা উত্স ফাইলটিতে আপনি প্যাকেজে অন্তর্ভুক্ত করতে চান এমন ক্লাস, ইন্টারফেস, গণনা এবং টীকাগুলির ধরণ থাকতে পারে।উদাহরণস্বরূপ, নিম্নলিখিত বিবৃতি নামের একটি প্যাকেজ তৈরি করে মাইপ্যাকেজ

প্যাকেজ মাইপ্যাকেজ

প্যাকেজ বিবৃতিটি ক্লাসের সাথে সংজ্ঞায়িত কোন প্যাকেজের সাথে সুনির্দিষ্ট করে ..

বিঃদ্রঃ: আপনি যদি প্যাকেজ বিবৃতিটি বাদ দেন, শ্রেণীর নামগুলি ডিফল্ট প্যাকেজে রাখা হয়, যার কোনও নাম নেই। যদিও সংক্ষিপ্ত প্রোগ্রামগুলির জন্য ডিফল্ট প্যাকেজটি ঠিক আছে, তবে এটি বাস্তব অ্যাপ্লিকেশনগুলির পক্ষে অপর্যাপ্ত।

জাভা প্যাকেজ মধ্যে একটি ক্লাস সহ

প্রতিএকটি প্যাকেজের ভিতরে একটি ক্লাস তৈরি করুন, আপনার উচিতআপনার প্রোগ্রামের প্রথম বিবৃতি হিসাবে প্যাকেজের নাম ঘোষণা করুন। তারপরে প্যাকেজের অংশ হিসাবে ক্লাসটি অন্তর্ভুক্ত করুন। তবে, মনে রাখবেন যে একটি শ্রেণীর কেবল একটি প্যাকেজ ঘোষণা থাকতে পারে। ধারণাটি বোঝার জন্য এখানে একটি সাধারণ প্রোগ্রাম।

প্যাকেজ মাইপ্যাকেজ পাবলিক ক্লাসের তুলনা করুন num int num1, num2 তুলনা করুন (ইনট এন, ইনট মি) {num1 = n num2 = m} পাবলিক শূন্যপদ গেটম্যাক্স () num যদি (num1> num2) {System.out.println ('দুটির সর্বাধিক মান সংখ্যাগুলি '+ num1)} অন্য {System.out.println (' দুটি সংখ্যার সর্বাধিক মান '+ num2)'} পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরোগুলি []) current বর্তমানের তুলনা করুন [] = নতুন তুলনা করুন [3] বর্তমান [1] = নতুন তুলনা করুন (5, 10) বর্তমান [2] = নতুন (ইন্টি আই = 1 আই) এর জন্য (123, 120) তুলনা করুন<3 i++) { current[i].getmax() } } } 

আউটপুট:

জাভা ফ্রন্ট এন্ড বিকাশকারী পুনরায় শুরু করুন
দুটি সংখ্যার সর্বাধিক মান 10 টি দুটি সংখ্যার সর্বাধিক মান 123 3

আপনি দেখতে পাচ্ছেন যে, আমি মাইপ্যাকেজ নামে একটি প্যাকেজ ঘোষণা করেছি এবং সেই প্যাকেজের ভিতরে একটি ক্লাস তৈরি করে তৈরি করেছি। জাভা প্যাকেজ সঞ্চয় করার জন্য ফাইল সিস্টেম ডিরেক্টরি ব্যবহার করে। সুতরাং, এই প্রোগ্রাম হিসাবে একটি ফাইল সংরক্ষণ করা হবে তুলনা.জভা এবং মাইপ্যাকেজ নামের ডিরেক্টরিতে সংরক্ষণ করা হবে। ফাইলটি সংকলিত হয়ে গেলে জাভা একটি তৈরি করবে .ক্লাস ফাইল এবং একই ডিরেক্টরিতে এটি সংরক্ষণ করুন। মনে রাখবেন প্যাকেজের নামটি অবশ্যই সেই ডিরেক্টরিটির মতো হওয়া উচিত যার অধীনে এই ফাইলটি সংরক্ষণ করা হয়েছে।

আপনি ভাবছেন যে অন্য প্যাকেজের কোনও ক্লাস থেকে এই তুলনা ক্লাসটি কীভাবে ব্যবহার করবেন?

অন্য প্যাকেজ আমদানির সময় প্যাকেজের অভ্যন্তরে শ্রেণি তৈরি করা

ঠিক আছে, এটা বেশ সহজ। আপনার কেবল এটি আমদানি করা দরকার। একবার এটি আমদানি হয়ে গেলে, আপনি এটির নামে এটি অ্যাক্সেস করতে পারেন। ধারণাটি প্রদর্শনের জন্য এখানে একটি নমুনা প্রোগ্রাম।

প্যাকেজ এডুরেকা মাইপ্যাকেজ আমদানি করুন public সর্বজনীন বর্গ ডেমো {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং আরগস []) এর সাথে তুলনা করুন {ইনট এন = 10, এম = 10 বর্তমানের সাথে তুলনা করুন = নতুন তুলনা করুন (এন, এম) যদি (এন! = মি) {কারেন্ট.getmax ()} অন্য {System.out.println ('উভয় মান একই')}}}

আউটপুট:

উভয় মান একই

আমি প্রথম প্যাকেজ ঘোষণা করেছি এডুরেকা , তারপর ক্লাস আমদানি তুলনা করা মাইপ্যাকেজ প্যাকেজ থেকে। সুতরাং, আদেশযখন আমরা প্যাকেজের ভিতরে ক্লাস তৈরি করি যখন অন্য প্যাকেজটি আমদানি করা হয়,

  • প্যাকেজ ঘোষণা
  • প্যাকেজ আমদানি

ঠিক আছে, আপনি যদি আমদানি বিবৃতিটি ব্যবহার করতে না চান তবে অন্য প্যাকেজ থেকে প্যাকেজের শ্রেণিবদ্ধ ফাইল অ্যাক্সেস করার জন্য আরও একটি বিকল্প রয়েছে। একটি আমদানির সময় আপনি পুরোপুরি যোগ্যতাসম্পন্ন নাম ব্যবহার করতে পারেন ।

ক্লাস আমদানির সময় পুরোপুরি যোগ্যতাসম্পন্ন নাম ব্যবহার করা

ধারণাটি বোঝার জন্য এখানে একটি উদাহরণ। আমি একই প্যাকেজটি ব্যবহার করতে যাচ্ছি যা আমি আগে ব্লগে ঘোষণা করেছিলাম, মাইপ্যাকেজ

প্যাকেজ এডুরেকা পাবলিক ক্লাস ডেমো {পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস []) {ইন্ট এন = 10, এম = 11 // মাইপ্যাকেজ আমদানির পরিবর্তে সম্পূর্ণ যোগ্যতাসম্পন্ন নাম ব্যবহার করে current বর্তমান = নতুন মাইপ্যাকেজ.কম্পিয়ার (এন, এম) তুলনা করুন যদি ( n! = m) {বর্তমান.getmax ()} অন্য {System.out.println ('উভয় মান একই')}}}

আউটপুট:

দুটি সংখ্যার সর্বাধিক মান 11

ডেমো ক্লাসে, প্যাকেজটি আমদানির পরিবর্তে আমি পুরোপুরি যোগ্য নাম যেমন ব্যবহার করেছি মাইপ্যাকেজ.কম্পেয়ার এটির উদ্দেশ্য তৈরি করতে to যেহেতু আমরা প্যাকেজ আমদানির কথা বলছি, আপনি জাভাতে স্থির আমদানির ধারণাটিও পরীক্ষা করে দেখতে পারেন।

জাভা স্থিতিশীল আমদানি

স্ট্যাটিক আমদানি বৈশিষ্ট্যটি চালু হয়েছিল সংস্করণ 5 থেকে এটি জাভা প্রোগ্রামারটিকে যে কোনও স্ট্যাটিক অ্যাক্সেস করতে সহায়তা করেপুরোপুরি যোগ্যতাসম্পন্ন নাম ব্যবহার না করে সরাসরি কোনও শ্রেণীর সদস্য।

প্যাকেজ মাইপ্যাকেজ আমদানি স্ট্যাটিক জাভা.লং.ম্যাথ। * // স্ট্যাটিক আমদানি স্ট্যাটিক জাভা.লং.সিস্টেম। * // স্ট্যাটিক আমদানি পাবলিক ক্লাস স্ট্যাটিক ইম্পোর্টডেমো {পাবলিক স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং আরগস []) {ডাবল ভল = 64.0 ডাবল স্ক্রোট = স্কয়ার্ট (ভাল) // অ্যাক্সেস স্কয়ার্ট () পদ্ধতিটি সরাসরি আউট। প্রিন্টলন ('' +++ 'এর বর্গমূল)' + স্ক্রুট) // আমাদের 'সিস্টেম.আউট use use ব্যবহার করার দরকার নেই don't
 আউটপুট: 
বর্গ। 64.0 এর মূল 8.0 হয়

স্থিতিশীল আমদানি ব্যবহারে কম কোডিং জড়িত, অত্যধিক ব্যবহারের ফলে প্রোগ্রামটি অপঠনযোগ্য এবং অবিস্মরণীয় হতে পারে। এবার আসুন পরবর্তী বিষয়ের দিকে, প্যাকেজগুলিতে অ্যাক্সেস নিয়ন্ত্রণ।

জাভা প্যাকেজগুলিতে অ্যাক্সেস সুরক্ষা

আপনি জাভা অ্যাক্সেস নিয়ন্ত্রণ ব্যবস্থা এবং এর বিভিন্ন দিক সম্পর্কে সচেতন হতে পারেন অ্যাক্সেস নির্দিষ্টকরণকারী । জাভাতে থাকা প্যাকেজগুলি নিয়ন্ত্রণে অ্যাক্সেসের আরও একটি মাত্রা যুক্ত করে। ক্লাস এবং প্যাকেজ উভয়ই একটি মাধ্যম ডেটা এনক্যাপসুলেশন । প্যাকেজগুলি ক্লাস এবং অন্যান্য অধীনস্ত প্যাকেজগুলির জন্য ধারক হিসাবে কাজ করে, ক্লাসগুলি ডেটা এবং কোডের জন্য ধারক হিসাবে কাজ করে। প্যাকেজ এবং ক্লাসগুলির মধ্যে এই ইন্টারপ্লেের কারণে, জাভা প্যাকেজগুলি শ্রেণীর সদস্যদের জন্য চারটি শ্রেণির দৃশ্যমানতার জন্য সম্বোধন করে:

  • একই প্যাকেজে সাব-ক্লাস
  • একই প্যাকেজে নন-সাবক্লাস
  • বিভিন্ন প্যাকেজে সাব-ক্লাস
  • যে ক্লাসগুলি একই প্যাকেজ বা উপ-শ্রেণিতে নেই

নীচের টেবিলটি একটি দেয়জাভাতে প্যাকেজ ব্যবহার করার সময় কোন ধরণের অ্যাক্সেস সম্ভব এবং কোনটি নয় এর আসল চিত্র:

ব্যক্তিগত কোনও সংশোধক নেই সুরক্ষিত পাবলিক

একই শ্রেণী

হ্যাঁ

হ্যাঁ

হ্যাঁ

হ্যাঁ

একই প্যাকেজ সাবক্লাস

মান দ্বারা পাস এবং জাভা রেফারেন্স দ্বারা পাস

না

হ্যাঁ

হ্যাঁ

হ্যাঁ

একই প্যাকেজ নন সাব-ক্লাস

না

হ্যাঁ

হ্যাঁ

হ্যাঁ

জাভাতে এটির একটি সম্পর্ক রয়েছে

বিভিন্ন প্যাকেজ সাবক্লাস

না

না

হ্যাঁ

হ্যাঁ

বিভিন্ন প্যাকেজ অ-সাবক্ল্যাস

না

না

না

হ্যাঁ

আমরা উপরের টেবিলের তথ্য নিম্নরূপে সহজ করতে পারি:

  1. জনসাধারণ হিসাবে ঘোষিত যে কোনও কিছু থেকে যে কোনও জায়গা থেকে অ্যাক্সেস করা যায়
  2. ব্যক্তিগত হিসাবে ঘোষিত যে কোনও কিছুই কেবল সেই শ্রেণীর মধ্যেই দেখা যায়
  3. যদি অ্যাক্সেস সুনির্দিষ্ট উল্লেখ না করা হয় তবে একটি উপাদান সাবক্লাসের পাশাপাশি একই প্যাকেজের অন্যান্য শ্রেণিতেও দৃশ্যমান
  4. শেষ অবধি, ঘোষিত সুরক্ষিত উপাদানগুলি আপনার বর্তমান প্যাকেজের বাইরে দেখা যাবে তবে কেবল আপনার ক্লাসটি সরাসরি সাবক্লাস করে এমন ক্লাসগুলিতে

এইভাবে, জাভা প্যাকেজ ক্লাসগুলিতে অ্যাক্সেস নিয়ন্ত্রণ সরবরাহ করে। ঠিক আছে, এটি জাভাতে প্যাকেজগুলির ধারণাটি জড়িয়ে দেয়। এখানে কিছু পয়েন্ট রয়েছে যা আপনার প্যাকেজগুলি ব্যবহার করার সময় মনে রাখা উচিত ।

মনে রাখার বিষয়

  • প্রতিটি শ্রেণি কিছু না কিছু প্যাকেজের অংশ। আপনি যদি প্যাকেজ বিবৃতিটি বাদ দেন তবে শ্রেণীর নামগুলি ডিফল্ট প্যাকেজটিতে রাখা হয়
  • একটি শ্রেণীর কেবল একটি প্যাকেজ বিবৃতি থাকতে পারে তবে এতে একাধিক আমদানি প্যাকেজ বিবৃতি থাকতে পারে
  • প্যাকেজের নাম অবশ্যই সেই ডিরেক্টরিটির মতো হওয়া উচিত যা ফাইলটি সংরক্ষণ করা হয়
  • অন্য প্যাকেজ আমদানি করার সময়, প্যাকেজ ঘোষণাটি অবশ্যই প্রথম বিবৃতি হওয়া উচিত, এরপরে প্যাকেজ আমদানি হয়

ঠিক আছে, এটি আমাদের এই ‘জাভাতে প্যাকেজগুলি’ নিবন্ধের শেষের দিকে নিয়ে আসে। আমরা শিখেছিএকটি প্যাকেজ কী এবং কেন আমাদের সেগুলি ব্যবহার করা উচিত। কোনও সন্দেহ নেই যে দক্ষ জাভা প্রোগ্রামারদের জন্য জাভা প্যাকেজটি অন্যতম গুরুত্বপূর্ণ অঙ্গ। এটি কেবল প্রোগ্রামারের কোডিং শৈলিকেই আপগ্রেড করে না তবে অতিরিক্ত অতিরিক্ত কাজও হ্রাস করে।

যদি আপনি 'জাভাতে প্যাকেজগুলি' তে এই নিবন্ধটি পেয়ে থাকেন তবে এটি দেখুন এডুরেকা, বিশ্বস্ত জুড়ে 250,000 এরও বেশি সন্তুষ্ট শিক্ষার্থীর নেটওয়ার্ক সহ একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা by আমরা আপনার যাতায়াতের প্রতিটি পদক্ষেপে আপনাকে সহায়তা করতে এখানে এই জাভা সাক্ষাত্কারের প্রশ্নগুলির পাশাপাশি হয়ে উঠার জন্য আমরা একটি পাঠ্যক্রম নিয়ে এসেছি যা জাভা ডেভেলপার হতে চান এমন শিক্ষার্থী এবং পেশাদারদের জন্য তৈরি করা হয়েছে।