"হাই, অ্যামিগো!"

"হাই, এলি!"

"আজ আমি আপনাকে জাভাতে ক্লাস সম্পর্কে অনেক কিছু বলতে যাচ্ছি।"

" ব্যাখ্যা নং 1। আমি একটি উপমা দিয়ে শুরু করব। বস্তুজগতের সমস্ত জিনিসই পরমাণু দ্বারা গঠিত। বিভিন্ন ধরণের পরমাণু রয়েছে: হাইড্রোজেন, অক্সিজেন, লোহা, ইউরেনিয়াম... এই পরমাণুগুলির সংমিশ্রণে বিভিন্ন অণু, পদার্থ এবং বস্তু।"

"এই পরমাণুগুলির কিছু অভ্যন্তরীণ কাঠামো রয়েছে, যেমন ইলেকট্রন এবং প্রোটন এবং নিউট্রন সমন্বিত একটি নিউক্লিয়াস।"

"হ্যাঁ, আমি পরমাণুর গঠন সম্পর্কে কিছুটা জানি। আমি একজন রোবট, সর্বোপরি!"

"জাভার জগত একইভাবে গঠন করা হয়েছে। প্রোগ্রামগুলি বিভিন্ন ধরণের অবজেক্ট (ক্লাস) নিয়ে গঠিত। বিভিন্ন ক্লাস, ঘুরে, বিভিন্ন অভ্যন্তরীণ কাঠামো (ভেরিয়েবল এবং পদ্ধতি) ধারণ করে।"

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

"আমি মনে করি আমি এটা বুঝতে পেরেছি।"

" ব্যাখ্যা নং 2। যখন আমাদের একটি নতুন অবজেক্টের প্রকারের প্রয়োজন হয়, তখন আমরা একটি নতুন শ্রেণী তৈরি করি এবং এর অভ্যন্তরীণ অবজেক্টের আচরণের পদ্ধতি নির্ধারণ করি। "

"এটা একটু খুব সাধারণ শোনাচ্ছে। এটা পরিষ্কার মনে হচ্ছে, কিন্তু আপনি কিছু বলেননি।"

"অভ্যন্তরীণ কাঠামোর পরিপ্রেক্ষিতে, একটি শ্রেণীতে রয়েছে পদ্ধতি, যা কিছু করে এবং ভেরিয়েবল, যা ডেটা সঞ্চয় করার পদ্ধতি দ্বারা ব্যবহৃত হয়। "

"তাহলে, এটা কি বলা সহজ হবে যে একটি ক্লাস পদ্ধতির একটি সেট?"

"প্রায়। আরও সঠিকভাবে বলতে গেলে, একটি ক্লাস হল সম্পর্কিত পদ্ধতির একটি গ্রুপ এবং বিভিন্ন মান সঞ্চয় করার জন্য এই পদ্ধতিগুলি দ্বারা ব্যবহৃত ভেরিয়েবলগুলি৷"

"আমি দেখছি। একটি নতুন ক্লাস তৈরি করতে, আমাদের প্রথমে এই পদ্ধতিগুলি লিখতে হবে..."

"হ্যাঁ। এবং আমাদেরও সিদ্ধান্ত নিতে হবে যে বিভিন্ন পদ্ধতি কি ভেরিয়েবল শেয়ার করবে। আমরা এই ভেরিয়েবলগুলোকে মেথড থেকে বের করে এনে ক্লাসে রাখি, অর্থাৎ আমরা লোকাল ভেরিয়েবলকে মেম্বার (ইনস্ট্যান্স) ভেরিয়েবলে পরিণত করি।"

"মূলত, একটি ক্লাস এই মত তৈরি করা হয়:

1. প্রোগ্রামার তাদের অন্য কোন বস্তুর প্রয়োজন তা নির্ধারণ করে।

2. প্রোগ্রামার এই অবজেক্টগুলিকে বিভিন্ন প্রকারে ভাগ করে, তাদের কি করতে হবে তার উপর নির্ভর করে।

3. প্রোগ্রামার প্রতিটি ধরনের জন্য একটি পৃথক ক্লাস লেখেন।

4. একটি ক্লাসে, তারা প্রয়োজনীয় পদ্ধতি এবং ভেরিয়েবল ঘোষণা করে।

5. প্রতিটি পদ্ধতিতে, তারা মেথডটিকে যা করতে চায় তা করার জন্য কমান্ড লেখে।

6. ক্লাস প্রস্তুত. আপনি এখন ক্লাসের অবজেক্ট তৈরি করতে পারেন।"

"ঠান্ডা! কি একটি আকর্ষণীয় প্যাটার্ন! আমাকে এটি মনে রাখতে হবে।"

"এটি মুখস্থ করুন। এটি কাজে আসবে। প্রোগ্রামিং দর্শন যা একটি প্রোগ্রামকে বস্তুতে বিভক্ত করার আহ্বান জানায় তাকে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ( OOP ) বলা হয়।"

"জাভা একটি OOP ভাষার একটি ক্লাসিক উদাহরণ: জাভাতে, সবকিছুই একটি বস্তু।"

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

"বুঝেছি."

"সংক্ষেপে বলতে গেলে, আমরা বলতে পারি যে একটি ক্লাস হল একটি মিনি-প্রোগ্রাম: কিছু ডেটা এবং ফাংশন যা কিছু করার জন্য ডেটা ব্যবহার করে। ক্লাসগুলি ক্লাসের উদাহরণ তৈরি করতে ব্যবহৃত হয়, যা অবজেক্ট নামেও পরিচিত। "

"একটি অবজেক্ট তৈরি করতে, new class_name()কোডে ' ' লিখুন। এখানে কিছু উদাহরণ রয়েছে:"

উদাহরণ
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"একটি বস্তুর দুটি আকর্ষণীয় বৈশিষ্ট্য আছে:"

" প্রথমপ্রতিটি অবজেক্ট ইনস্ট্যান্স ভেরিয়েবলের নিজস্ব কপি সঞ্চয় করে। এর মানে হল যে যদি ইনস্ট্যান্স ভেরিয়েবল x এবং y একটি ক্লাসে ঘোষণা করা হয় এবং সেই ক্লাসের 10টি অবজেক্ট তৈরি করা হয়, তাহলে প্রতিটি অবজেক্টের নিজস্ব ভেরিয়েবল থাকবে। একটিতে ভেরিয়েবল পরিবর্তন করা বস্তু অন্য বস্তুর ভেরিয়েবলকে প্রভাবিত করে না। "

" দ্বিতীয়অবজেক্ট তৈরি করার সময়, আপনি বিভিন্ন আর্গুমেন্ট পাস করতে পারেন। এই মানগুলি অবজেক্ট শুরু করার জন্য ব্যবহার করা হয়। কিছুটা নবজাতকের নামকরণের মতো। অনেক ক্লাসে ক্লাসের ইনস্ট্যান্স (অবজেক্ট) তৈরি করার জন্য এই ধরনের আর্গুমেন্টের প্রয়োজন হয়। "

"আমি বুঝতে পেরেছি। আপনি ইনস্ট্যান্স ভেরিয়েবল সম্পর্কে কি বলেছেন?"

"প্রতিটি অবজেক্টের নিজস্ব ডেটা আছে। এগুলো হল ইনস্ট্যান্স ভেরিয়েবল।"

জাভা কোড স্ক্রীন আউটপুট:
Cat cat1 = new Cat();
cat1.name =  "Oscar";

Cat cat2 = new Cat();
cat2.name = "Smudge";

System.out.println(cat1.name);
System.out.println(cat2.name);
অস্কার
স্মাজ