অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং শেখার শুরুতেই এর সাধারণ গঠন এবং কিছু বিশেষ শব্দের অর্থ জেনে নেয়া দরকার।

পাইথনে অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং-এর গঠন মোটামুটি নিচের মতন।

class className:
    #class attributes

    #initializer

    #method
    def method_name(self,arguments...):
        #instance variables/attributes
##outside class
object_name = className()
obejet_name.method_name(arguments...)

কিছু শব্দের অর্থ এখন বুঝে নেয়া যাক।

class

ক্লাস হলো আমরা যেসব অবজেক্ট তৈরি করবো তার জন্য নির্দিষ্ট একটা মডেল। এই মডেল অনুসারে আমরা একই ধরনের অনেক অবজেক্ট বানাতে পারবো সহজেই। একটা ক্লাস কিভাবে তৈরি করতে হয় তা উপরে দেখানো হয়েছে।

method

ক্লাসের ভেতরে যেসব ফাংশন তৈরি করা হয় সেগুলো হচ্ছে মেথড। এই ফাংশনগুলো কিছু আর্গুমেন্ট ধরে রাখতেও পারে নাও পারে। তবে কোনো আর্গুমেন্ট না থাকলেও self লিখতেই হবে। যেমনঃ def method_name(self)। তবে ক্লাসের বাইরে এই মেথড কল করার সময় self লেখার দরকার নেই।

attributes

attributes এর বাংলা হল ধর্ম বা বৈশিষ্ট্য। চলকগুলোকে attributes বলে। এগুলো দুই ধরণের হতে পারে। class variables আর instance variables । মেথডের বাইরে যেসব চলক থাকে সেগুলো class variables আর মেথডের মধ্যের ভেরিয়েবলগুলো instance variables।

object

ক্লাস অনুসরন করে যে নতুন instance তৈরি করা হয় সেটাই object। instance কী? ব্যাপারটা একদম বিশুদ্ধ বাংলায় বোঝানো কঠিন। সোজা বাংলায় নিদর্শন বা উদাহরণ বোঝায়।

নিচের উদাহরণ দেখি

class Human:
    def properties(self,name,age,height):
        self.name = name
        self.age = age
        self.height = height

এখন Human ক্লাস অনুসারে আমরা h1 নামের একটা অবজেক্ট তৈরি করতে পারি h1 = Human() লিখে। এখন আমরা h1 ব্যবহার করে Human() ক্লাসের সকল attributes ব্যবহার করতে পারবো। আমরা একইভাবে h2, h3, h4 ইত্যাদি নামেও অবজেক্ট তৈরি করতে পারবো।

ক্লাস মূলত কোনো অবজেক্ট এর নকশা। একটা অবজেক্ট যখন আমরা তৈরি করি তখন ওই বিশেষ নকশা অনুকরণ করার জন্য ক্লাস ব্যবহার করি।

self

আপনি হয়তো খেয়াল করেছেন প্রতিটি মেথড তৈরির সময় আমরা অন্যান্য আর্গুমেন্টের সাথে self নিচ্ছি। এই self সবসময় মেথড তৈরির সময় নিতে হবে। এমন কি যদি আপনার মেথডে অন্যকোনো আর্গুমেন্ট না নিতে চান সেক্ষেত্রে শুধু মাত্র self লিখতে হবে। এটা মূলত পাইথন এর রীতি। এটা বাতিলের জন্যও অনুরোধ করা হয়েছিল। আপাতত এই রীতি মেনে চলতেই হবে।

অবজেক্ট তৈরির ক্ষেত্রে self আর্গুমেন্ট হিসেবে নেয়ার প্রয়োজন নেই।

class Human:
    def properties(self,name,age,height):
        self.name = name
        self.age = age
        self.height = height

x = Human()
x.properties("masum",23,6)

এখানে দেখুন আমরা x নামে একটা অবজেক্ট তৈরি করেছি এবং properties মেথড কল করে আর্গুমেন্ট হিসেবে নাম, বয়স এবং উচ্চতা দিয়েছি।

____________________________________

আশা করি আপনি পাইথন অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং -এর মৌলিক ধারণা নিতে পেরেছেন। কোথাও বোঝার অসুবিধা থাকলে প্রশ্ন করুন। আপনাকে বোঝানোর মাধ্যমেই আমি আপনি দুজনেই আরও ভালভাবে শিখতে পারব।

results matching ""

    No results matching ""