রুবিতে ক্লাস কি?
ক্লাস হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর মৌলিক বিল্ডিং ব্লক এবং তারা আপনাকে অবজেক্ট তৈরির জন্য একটি ব্লুপ্রিন্ট নির্ধারণ করতে সাহায্য করে।
বস্তু হল ক্লাসের পণ্য .
সুতরাং একটি বস্তু কি?
একটি বস্তু হল একটি স্বতন্ত্র "বস্তু", যার নিজস্ব পরিচয় এবং নিজস্ব ডেটা।
উদাহরণস্বরূপ :
একটি Book
ক্লাস বই তৈরির ব্লুপ্রিন্ট হতে পারে।
এই শ্রেণীটি সংজ্ঞায়িত করে যে সমস্ত বইতে কি কি বৈশিষ্ট্য মিল রয়েছে, যেমন:
- একটি শিরোনাম
- একজন লেখক
- পৃষ্ঠাগুলি
- ইত্যাদি
প্রতিটি স্বতন্ত্র বই একটি বস্তু এবং আপনি Book
এর জন্য অনেকগুলি বস্তু তৈরি করতে পারেন ক্লাস এটি ক্লাস তৈরির বিষয়, এগুলি আপনার রুবি অ্যাপ্লিকেশনের জন্য পুনরায় ব্যবহারযোগ্য ব্লুপ্রিন্ট৷
এখন :
আপনি কীভাবে আপনার নিজের ক্লাস লিখতে হয় তা শিখতে যাচ্ছেন যাতে আপনি আজই OOP কোড লেখা শুরু করতে পারেন।
কিভাবে রুবি ক্লাস তৈরি করবেন
একটি ক্লাস তৈরি করার জন্য বাক্য গঠনটি এইরকম হয়:
ক্লাস অরেঞ্জেন্ড
লক্ষ্য করুন :
- শ্রেণীর নাম একটি বড় হাতের অক্ষর দিয়ে শুরু হয়
- আমরা
class
ব্যবহার করি কীওয়ার্ড, তারপরend
কীওয়ার্ড - একটি খালি ক্লাস খুব দরকারী নয়, তবে আপনি এখনও এটি থেকে বস্তু তৈরি করতে পারেন
ক্লাস তৈরি করার অন্যান্য উপায় আছে (যেমন Class.new
), কিন্তু এই পদ্ধতিগুলি শুধুমাত্র বিশেষ পরিস্থিতিতে কার্যকর।
এক শ্রেণী, বহু বস্তু
একটি ক্লাসের প্রধান ব্যবহার হল পদ্ধতি, ইনস্ট্যান্স ভেরিয়েবল এবং ধ্রুবকগুলির একটি ধারক, একটি ব্লুপ্রিন্ট তৈরি করা যা থেকে আপনি বস্তু তৈরি করতে পারেন৷
আপনি new
ব্যবহার করে বস্তু তৈরি করতে পারেন পদ্ধতি।
এরকম :
Orange.new
আমরা একটি অবজেক্ট তৈরির প্রক্রিয়াকে "ইনস্ট্যান্টেশন" হিসাবে জানি, এবং আমরা বলি যে একটি অবজেক্ট একটি ক্লাসের একটি "ইনস্ট্যান্স"।
কেন বস্তু তৈরি?
কারণ আপনার তৈরি করা প্রতিটি বস্তুই ভিন্ন এবং অনন্য .
প্রতিটি বস্তুর নিজস্ব পরিচয় আছে।
উদাহরণস্বরূপ :
Orange
দিয়ে ক্লাস, প্রতিটি Orange
আপনার তৈরি করা বস্তুর নিজস্ব ওজন, উৎপত্তির দেশ, গুণমান ইত্যাদি রয়েছে।
রুবি ক্লাসগুলিকে আরও দরকারী করা
আপনি যখন তাদের সাথে ইনস্ট্যান্স পদ্ধতি এবং ইনস্ট্যান্স ভেরিয়েবল যোগ করা শুরু করেন তখন ক্লাসগুলি আরও উপযোগী হয়ে ওঠে।
একটি পদ্ধতি এমন একটি জিনিস যা আপনার ক্লাস করতে পারে।
উদাহরণস্বরূপ :
আপনি রস পেতে একটি কমলা ছেঁকে নিতে পারেন।
এখানে একটি কোড উদাহরণ :
<প্রি>ক্লাস অরেঞ্জ ডিফ স্কুইজ বলে "এই নাও তোমার জুস!" endendorange =Orange.neworange.squeezeএই পদ্ধতিগুলি আপনার বস্তুর জন্য কমান্ড হয়ে ওঠে!
প্রতিটি Orange
আপনার তৈরি করা বস্তুটির এই squeeze
অ্যাক্সেস থাকবে পদ্ধতি এবং এটি ক্লাস ব্যবহারের অন্যতম সুবিধা।
একটি উদাহরণ পরিবর্তনশীল হল আপনার ক্লাসের কিছু জানা .
উদাহরণ:
ক্লাস অরেঞ্জ ডিফ ইনিশিয়ালাইজ @juice_available =100 end def squeeze @juice_available -=50 endend
ইনস্ট্যান্স ভেরিয়েবল স্থানীয় ভেরিয়েবল থেকে আলাদা কারণ তারা @
দিয়ে শুরু হয় প্রতীক আপনি ক্লাসের বাইরে এগুলি অ্যাক্সেস করতে পারবেন না যদি না আপনি একটি attr_accessor সংজ্ঞায়িত করেন৷
এটা কি ক্লাস?
রুবিতে অবজেক্ট নিয়ে কাজ করার সময় কোন ক্লাস থেকে অবজেক্ট তৈরি করা হয়েছে তা জানা সহায়ক।
আপনি এটি এভাবে করতে পারেন :
"".class# স্ট্রিং[].class# Arrayorange.class# কমলা (ধরে নিচ্ছি কমলা =Orange.new)
এটি কেন দরকারী?
পদ্ধতিগুলি হল ছোট ইঞ্জিন যা রুবিতে জিনিসগুলি ঘটায়৷
৷
আপনি যদি ক্লাসটি জানেন তবে আপনি কোন পদ্ধতিগুলি উপলব্ধ রয়েছে তা খুঁজে পেতে পারেন (Google, ri
ব্যবহার করুন , অথবা pry
), অন্য কথায়, আপনি আবিষ্কার করতে পারেন যে বস্তুটি আপনার জন্য কী করতে পারে!
ক্লাস সম্পর্কে আরও জানুন
এটি ক্লাসের ক্ষেত্রে শুধুমাত্র "আইসবার্গের টিপ"।
আপনি যদি আরও জানতে চান...
এগুলি পড়ুন৷ :
- রুবি ইনিশিয়ালাইজ পদ্ধতি
- Attr_accessor, attr_reader, attr_writer
- OOP-এ উত্তরাধিকার
- অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং
Btw ক্লাসগুলি নিজেরাও অবজেক্ট, অন্তত রুবিতে 🙂
৷সারাংশ
আপনি রুবিতে ক্লাস সম্পর্কে শিখেছেন, কীভাবে সেগুলি তৈরি করতে হয় এবং কেন সেগুলি দরকারী!
৷এই নিবন্ধটি শেয়ার করতে ভুলবেন না যাতে আরও লোকেরা এটি উপভোগ করতে পারে৷
৷পড়ার জন্য ধন্যবাদ।