পাইথনে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (পর্ব-১২)


আধুনিক প্রোগ্রামিং ভাষার প্রায় সবকটিতেই অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং করার সুবিধা রয়েছে। পাইথনও এর ব্যতিক্রম নয়। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (IIwc)-এর সুবিধা হচ্ছে যেকোনো সমস্যাই ছোট ছোট ভাগে ভাগ করা যায়। আজ ও আগামী পর্বে ওওপির বিভিন্ন বিষয় নিয়ে আলোচনা করা হবে। ধরুন আপনি এটি ব্যাংকের গ্রাহক তথ্য সংরক্ষণের জন্য সফটওয়্যার তৈরি করবেন। তাহলে এটি কীভাবে ওওপির ধারণায় প্রকাশ করবেন তা নিয়ে কিছু ধারণা দিচ্ছি। প্রথমেই আপনাকে একটি class তৈরি করতে হবে। ক্লাস হচ্ছে ভ্যারিয়েবল, মেথড ইত্যাদির সমন্বয়ে তৈরি একটি কাঠামো মাত্র, যা এ ক্ষেত্রে গ্রাহকের নাম, হিসাব নম্বর ইত্যাদি সংরক্ষণ করবে। ক্লাস আগে থেকে নির্ধারিত থাকে না, প্রয়োজনমতো তৈরি করে নিতে হয়। এখন দেখুন, ক্লাস হচ্ছে প্রয়োজনীয় তথ্যের কাঠামো মাত্র, কোনো অর্থবহ তথ্য এখানে থাকে না। এখন গ্রাহকের তথ্য যোগ করতে চাইলে ওই ক্লাসের একটি নতুন instance বানাতে হবে, যা object নামে পরিচিত। এখন গ্রাহক ক্লাসের একটি উদাহরণ দেখুন:

class BankClient:

name = “”

acc_no = 0

address = “”

acc_bal = 0

def createProfile(self,p_name,p_address):

self.name=p_name

self.address=p_address

def createAccount(self,a_acc_no,a_acc_bal):

self.acc_no=a_acc_no

self.acc_bal=a_acc_bal

def showDetails(self):

print(“Mr. “+self.name+” has Account Balance: “+str(self.acc_bal))

এখানে BankClient হচ্ছে একটি ক্লাস, যার কিছু ভ্যারিয়েবল ও মেথড রয়েছে। লক্ষ করুন, ভ্যারিয়েবল ক্লাসের প্রথমেই ডিক্লেয়ার করা হয়েছে। মেথড হচ্ছে

ক্লাসের ভেতরের ফাংশনগুলো। তারপর নিচের সংকেতগুলো লিখুন:

client1 = BankClient()

client1.createProfile(“Rony”,”Dhaka”)

client1.createAccount(1122,1000)

client2 = BankClient()

client2.createProfile(“Johny”,”Khulna”)

client2.createAccount(2211,2000)

client1.showDetails()

client2.showDetails()

তৈরি হয়ে যাবে ক্লায়েন্টের তথ্য, যা showDetails() মেথডের মাধ্যমে দেখা যাবে। এভাবে চেষ্টা করুন আরও কিছু ক্লায়েন্টের তথ্য যোগ করার।