এডভান্সড পিএইচপি পর্ব -৯

ওয়েব স্কুল বিডি : সুপ্রিয় শিক্ষার্থী বন্ধুরা, শুভেচ্ছা নিয়ো। আমরা গত ক্লাসে ইনহেরিট্যান্স নিয়ে আলোচনা করেছিলাম। আজ তোমাদের ভিজিবিলিটি নিয়ে আলোচনা করা হলো :

ভিজিবিলিটি :
আমরা যদি এর আগে অবজেক্ট ওরিয়েন্টেড পিএইচপি কোড দেখে থাকি তাহলে হয়তো public, protected এবং private কিওয়ার্ডগুলোর ব্যবহার দেখেছি । আজকে আমরা এগুলো কেন ব্যবহার করা হয় তা জানবো ।
কিওয়ার্ড গুলোর আভিধানিক অর্থ চিন্তা করলে কিছুটা পরিষ্কার হয়েই যায় । যেটা public সেটা সবার জন্যই উন্মুক্ত । যেটা private সেটা ব্যক্তিগত, অর্থাৎ শুধুই আমার জন্য । তাহলে protected টা কি হবে? যেটা protected সেটা শুধুই আমার এবং আমার উত্তরাধিকারীদের জন্য ।
কোন ক্লাসের যে মেথড ও প্রোপার্টিগুলো পাবলিক হয় সেগুলো অন্য যে কোন জায়গা থেকেই এ্যাক্সেস করা সম্ভব । প্রটেক্টেড হলে শুধু মাত্র ঐ ক্লাস এবং যে সব ক্লাস ঐ ক্লাস কে ইনহেরিট করে তারাই শুধু এ্যাক্সেস করতে পারবে । প্রাইভেট হলে শুধু মাত্র ঐ ক্লাসের ভিতর থেকেই এটা এ্যক্সেস করা যাবে, বাইরের কেউ বা কোন চাইল্ড ক্লাসও এটার এ্যাক্সেস পাবে না ।
আমরা পিএইচপি ম্যানুয়ালের এই উদাহরন টা দেখি :

www.webschoolbd.com

এখানে দেখুন, $obj->public টা আমরা ক্লাসের বাইরে থেকেও অবজেক্টের প্রোপার্টি হিসাবে ব্যবহার করতে পারছি কিন্তু বাকি দুটো এ্যাক্সেস করতে গেলে আমরা ফ্যাটাল এরর পাবো । অন্যদিকে $obj->printHello() যেহেতু ঐ ক্লাসের ভিতরেই ডিফাইন করা, তাই ক্লাসের ভিতরে আমরা প্রাইভেট এবং প্রটেক্টেড প্রোপার্টিরও এ্যক্সেস পাচ্ছি ।
এবার দেখি ইনহেরিট্যান্সের বেলায় কি হয় ।
আমরা এখন আগের ক্লাস টাকে এক্সটেন্ড করে আরেকটা ক্লাস বানাবো :

www.webschoolbd.com

এখানে আমরা দেখছি আমাদের চাইল্ড ক্লাসে আমরা প্যারেন্ট এর প্রটেক্টেড প্রোপার্টি এ্যাক্সেস করতে পারলেও প্রাইভেট প্রোপার্টি আনডিফাইনড থেকে যাচ্ছে ।

কুইক নোটস :
  • var কিওয়ার্ড ব্যবহার করে প্রোপার্টি ডিফাইন করলে তা সবসময়ই পাবলিক হবে ।
  • ফাংশনের ক্ষেত্রে ভিজিবিলিটি কিওয়ার্ড মিস করলে সেটা পাবলিক হিসেবে গন্য হবে ।
  • একই ক্লাস থেকে তৈরি করা অবজেক্ট গুলো একে অপরের প্রাইভেট এবং প্রটেক্টেড মেম্বার গুলো এ্যাক্সেস করতে পারবে । কারন তারা যেহেতু একই ক্লাস থেকে তৈরি হয়েছে তাই তারা জানে ইন্সট্যান্সগুলোর প্রোপার্টি ও মেথড কিভাবে ডিফাইন করা হয়েছে ।

অনলাইন এ ক্লাস করুন একদম ফ্রী. …
প্রতিদিন রাত ৯টা থেকে ১০.৩০টা পর্যন্ত
Skype id - wschoolbd


বি.দ্র.: ওয়েব স্কুল বিডি থেকে বিদেশে পড়াশোনা সংক্রান্ত বিভিন্ন পরামর্শ প্রদান করার উদ্যোগ নেওয়া হয়েছে। আমাদের সাথে যোগাযোগ – ০১৯১৫-৪২৭০৭০ (সকাল ১১ টা থেকে দুপুর ১ টা পর্যন্ত)।

Post a Comment

আপনার কোন কিছু জানার থাকলে কমেন্টস বক্স এ লিখতে পারেন। আমরা যথাযত চেস্টা করব আপনার সঠিক উত্তর দিতে। ভালো লাগলে ধন্যবাদ দিতে ভুলবেন না। শিক্ষার্থীরা নোট ,সাজেশান্স ও নতুন নতুন ভিডিও সবার আগে পেতে আমাদের Web School BD চ্যানেলটি সাবস্ক্রাইব SUBSCRIBE করতে পারো।
- শুভকামনায় ওয়েব স্কুল বিডি

Previous Post Next Post