একটি ক্লাসে একটি ব্যক্তিগত সম্পত্তির মান অ্যাক্সেস করার জন্য, আমাদের অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং-এ এনক্যাপসুলেশনের ধারণাটি বুঝতে হবে। এনক্যাপসুলেশন একটি মৌলিক নীতি যা আমাদের ক্লাস সদস্যদের অ্যাক্সেস নিয়ন্ত্রণ করতে দেয়, যেমন বৈশিষ্ট্য এবং পদ্ধতি। পিএইচপি-তে, আমরা অ্যাক্সেস মডিফায়ার ব্যবহার করে এনক্যাপসুলেশন অর্জন করতে পারি।
পিএইচপি-তে, আমাদের তিনটি অ্যাক্সেস মডিফায়ার রয়েছে: সর্বজনীন, সুরক্ষিত এবং ব্যক্তিগত। সর্বজনীন বৈশিষ্ট্য এবং পদ্ধতিগুলি যে কোনও জায়গা থেকে অ্যাক্সেস করা যেতে পারে, যখন সুরক্ষিত বৈশিষ্ট্য এবং পদ্ধতিগুলি কেবলমাত্র শ্রেণী বা এর উপশ্রেণীগুলির মধ্যেই অ্যাক্সেস করা যেতে পারে। অন্যদিকে, ব্যক্তিগত বৈশিষ্ট্য এবং পদ্ধতিগুলি শুধুমাত্র সেই শ্রেণীর মধ্যেই অ্যাক্সেস করা যেতে পারে যেখানে সেগুলি সংজ্ঞায়িত করা হয়েছে।
একটি শ্রেণীতে একটি ব্যক্তিগত সম্পত্তির মান অ্যাক্সেস করতে, আমরা সাধারণত গেটার এবং সেটার পদ্ধতি ব্যবহার করি। একটি ব্যক্তিগত সম্পত্তির মান পুনরুদ্ধার করার জন্য একটি গেটার পদ্ধতি দায়ী, যখন একটি ব্যক্তিগত সম্পত্তির মান আপডেট করার জন্য একটি সেটার পদ্ধতি ব্যবহার করা হয়। আসুন একটি উদাহরণ দেখে নেওয়া যাক:
php class MyClass { private $myPrivateProperty; public function getMyPrivateProperty() { return $this->myPrivateProperty; } public function setMyPrivateProperty($value) { $this->myPrivateProperty = $value; } } $obj = new MyClass(); $obj->setMyPrivateProperty('Hello, World!'); echo $obj->getMyPrivateProperty(); // Output: Hello, World!
উপরের উদাহরণে, আমাদের কাছে একটি ব্যক্তিগত সম্পত্তি `$myPrivateProperty` সহ `MyClass` নামে একটি ক্লাস আছে। ব্যক্তিগত সম্পত্তির মান অ্যাক্সেস এবং পরিবর্তন করার জন্য আমরা যথাক্রমে গেটার এবং সেটার পদ্ধতি (`getMyPrivateProperty` এবং `setMyPrivateProperty`) সংজ্ঞায়িত করেছি।
ব্যক্তিগত সম্পত্তি অ্যাক্সেস করতে, আমরা ক্লাসের একটি উদাহরণ তৈরি করি (`$obj`) এবং একটি মান সেট করতে সেটার পদ্ধতি (`setMyPrivateProperty`) ব্যবহার করি। তারপর, মানটি পুনরুদ্ধার করতে এবং আউটপুটে এটিকে প্রতিধ্বনিত করতে আমরা গেটার পদ্ধতি (`getMyPrivateProperty`) ব্যবহার করি।
গেটার এবং সেটার পদ্ধতি ব্যবহার করে, আমরা কীভাবে ব্যক্তিগত সম্পত্তি অ্যাক্সেস এবং সংশোধন করা হয় তা নিয়ন্ত্রণ করতে পারি। সম্পত্তি অ্যাক্সেস করা এবং সঠিকভাবে সংশোধন করা হয়েছে তা নিশ্চিত করতে আমরা এই পদ্ধতিগুলির মধ্যে অতিরিক্ত যুক্তি বা বৈধতা যোগ করতে পারি।
এটা মনে রাখা গুরুত্বপূর্ণ যে ক্লাসের সুযোগের বাইরে থেকে সরাসরি ব্যক্তিগত সম্পত্তি অ্যাক্সেস করার পরামর্শ দেওয়া হয় না, কারণ এটি এনক্যাপসুলেশন নীতি লঙ্ঘন করে। এনক্যাপসুলেশন ক্লাসের অভ্যন্তরীণ অবস্থার অ্যাক্সেস নিয়ন্ত্রণ করে এর অখণ্ডতা এবং ধারাবাহিকতা বজায় রাখতে সাহায্য করে।
একটি ক্লাসে একটি ব্যক্তিগত সম্পত্তির মান অ্যাক্সেস করতে, আমরা গেটার এবং সেটটার পদ্ধতি ব্যবহার করতে পারি। এই পদ্ধতিগুলি ব্যক্তিগত সম্পত্তিগুলিতে নিয়ন্ত্রিত অ্যাক্সেস সরবরাহ করে এবং আমাদের তাদের মানগুলি পুনরুদ্ধার এবং সংশোধন করার অনুমতি দেয়। এনক্যাপসুলেশন এবং অ্যাক্সেস মডিফায়ার ব্যবহার করে, আমরা আমাদের ক্লাসের অখণ্ডতা এবং ধারাবাহিকতা নিশ্চিত করতে পারি।
সম্পর্কিত অন্যান্য সাম্প্রতিক প্রশ্ন এবং উত্তর পিএইচপি মধ্যে ক্লাস এবং আপত্তি:
- একটি ক্লাসে বৈশিষ্ট্যগুলি অ্যাক্সেস এবং পরিবর্তন করার জন্য প্রস্তাবিত পদ্ধতি কী?
- কিভাবে আমরা একটি ক্লাসে একটি ব্যক্তিগত সম্পত্তির মান আপডেট করতে পারি?
- একটি ক্লাসে গেটার এবং সেটার্স ব্যবহার করে লাভ কী?
- একটি ক্লাসে সম্পত্তি ব্যক্তিগত করার উদ্দেশ্য কি?
- পিএইচপি ক্লাসে কনস্ট্রাক্টর ফাংশন কী এবং এর উদ্দেশ্য কী?
- পিএইচপি ক্লাসে পদ্ধতিগুলি কী কী এবং আমরা কীভাবে তাদের দৃশ্যমানতা সংজ্ঞায়িত করতে পারি?
- পিএইচপি ক্লাসের বৈশিষ্ট্যগুলি কী এবং কীভাবে আমরা তাদের দৃশ্যমানতা সংজ্ঞায়িত করতে পারি?
- কিভাবে আমরা PHP-এ একটি ক্লাস থেকে একটি বস্তু তৈরি করব?
- পিএইচপি-তে একটি ক্লাস কী এবং এটি কী উদ্দেশ্যে কাজ করে?