কম্পিউটার

PHP-তে Encapsulation ব্যাখ্যা কর।


অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং হল একটি সফ্টওয়্যার পদ্ধতি যা PHP5 এ যোগ করা হয়েছে, যা একটি সহজ উপায়ে কম্পোজিট অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে। PHP5 এ যোগ করা কিছু OOP ধারণা হল একটি বিমূর্ততা, ইন্টারফেস, স্ট্যাটিক পদ্ধতি এবং স্ট্যাটিক ক্লাস, ইত্যাদি...

এই নিবন্ধে, আমরা কয়েকটি উদাহরণের মাধ্যমে এনক্যাপসুলেশন এবং এর বাস্তবায়ন শিখব।

ডেটা এবং পদ্ধতিগুলিকে একক ইউনিটে (যাকে ক্লাস বলা হয়) মোড়ানোকে এনক্যাপসুলেশন বলা হয়। এনক্যাপসুলেশন হল ক্লাসের ভিতরে উপস্থিত ডেটা সদস্য এবং পদ্ধতিগুলির জন্য একটি সুরক্ষা ব্যবস্থা। এনক্যাপসুলেশন কৌশলে, আমরা ডেটা সদস্যদের বাইরের বিশ্বের শেষ-ব্যবহারকারীর অ্যাক্সেস থেকে সীমাবদ্ধ করছি৷

পিএইচপি-তে, কোডটিকে আরও সুরক্ষিত এবং শক্তিশালী করতে এনক্যাপসুলেশন ব্যবহার করা হয়। এনক্যাপসুলেশন ব্যবহার করে, আমরা ব্যবহারকারীর কাছ থেকে ডেটার বাস্তব বাস্তবায়ন লুকিয়ে রাখছি এবং কাঙ্খিত অপারেশন কল করা ছাড়া কাউকে ডেটা সদস্যদের ম্যানিপুলেট করার অনুমতি দিই না৷

উদাহরণ

আসুন একটি উদাহরণের মাধ্যমে বিষয়টি বুঝতে পারি।

<?php
   class ATM {
      private $custid;
      private $atmpin;
      public function PinChange($custid,$atmpin) {
               ---------perform tasks-----
               }
      public function CheckBalance($custid,$atmpin){
               ---------perform tasks-----
               }
      public function miniStatement($custid) {
               ---------perform tasks-----
               }
      }
   $obj = new ATM();
   $obj ->CheckBalance(10005285637,1**3);
?>

ব্যাখ্যা:

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

ধরুন যে কেউ ব্যালেন্স চেক করতে চান তাহলে তাকে প্রয়োজনীয় আর্গুমেন্ট $custid="10005285637" এবং $atmpin="1**3" সহ CheckBalance() পদ্ধতি অ্যাক্সেস করতে হবে। একে এনক্যাপসুলেশনের মাধ্যমে ডেটা লুকানো বলে।

দ্রষ্টব্য:

আমরা অ্যাক্সেস স্পেসিফায়ারগুলি প্রয়োগ করে পিএইচপি-তে এনক্যাপসুলেশন অর্জন করতে পারি।


  1. পিএইচপি-তে বিমূর্ত শ্রেণী ব্যাখ্যা কর।

  2. পিএইচপি-তে চূড়ান্ত শ্রেণী ও চূড়ান্ত পদ্ধতি ব্যাখ্যা কর।

  3. PHP-তে convert_uudecode() ফাংশন

  4. PHP-তে get_class_methods() ফাংশন