অবজেক্ট অরিয়েন্টেড পিএইচপি-->OOPHP-৬
OOPHP-৬:: ধাপ-১৬:-->properties এ একসেস সীমাবদ্ধ করা।অংশ-২
যখন একটা property কে private ঘোষনা করা হয় তখন শুধু সেখানে একই ক্লাস একসেস নিতে পারবে।
যখন property কে protected ঘোষনা করা হয় তখন শুধুমাত্র একই ক্লাস এবং প্রতিপাদিত ক্লাস (derived class/এই ক্লাসটি ঐ ক্লাস থেকে প্রতিপাদিত হওয়া ক্লাস যে ক্লাসটির properties এ একসেস ছিল) এই দুটি ক্লাস সেখানে একসেস নিতে পারবে।সোজা কথায় একই ক্লাস এবং ঐ প্রতিপদিত ক্লাস যা বেস ক্লাস থেকে বের হয়েছে।
public থাকলে কোন সীমাবদ্ধতা নেই যেকেউ স্ক্রিপ্টের যেকোন জায়গা থেকে এতে একসেস নিতে পারবে।
উত্তর:কারন এতে আমি এটা ঠিক করে দিতে পারবে যে,আমার তৈরী করা ক্লাসটি অন্য পিএইচপি প্রোগ্রামার কিভাবে ব্যবহার করবে।এই ধারনা থেকে একটা গুরত্বপূর্ন তথ্য বেরিয়ে আসে তাহল একটা বড় প্রোজেক্টে একসাথে অনেক পিএইচপি প্রোগ্রামার কাজ করতে পারবে এবং তাই করাও হয়ে থাকে।
নোট:যেহেতু get_pinn_number() এটি private তাই এই মেথডটি শুধুমাত্র যে ক্লাসে আছে,ঐ ক্লাস থেকে ব্যবহার করা যাবে।যদি স্ক্রিপ্টের অন্য কোথাও থেকে এই মেথডকে কল করতে চান তাহলে public ঘোষনা করতে হবে।
যখন একটা property কে private ঘোষনা করা হয় তখন শুধু সেখানে একই ক্লাস একসেস নিতে পারবে।
যখন property কে protected ঘোষনা করা হয় তখন শুধুমাত্র একই ক্লাস এবং প্রতিপাদিত ক্লাস (derived class/এই ক্লাসটি ঐ ক্লাস থেকে প্রতিপাদিত হওয়া ক্লাস যে ক্লাসটির properties এ একসেস ছিল) এই দুটি ক্লাস সেখানে একসেস নিতে পারবে।সোজা কথায় একই ক্লাস এবং ঐ প্রতিপদিত ক্লাস যা বেস ক্লাস থেকে বের হয়েছে।
public থাকলে কোন সীমাবদ্ধতা নেই যেকেউ স্ক্রিপ্টের যেকোন জায়গা থেকে এতে একসেস নিতে পারবে।
ধাপ-১৭:
মেথডে একসেস সীমাবদ্ধ করা
properties এর মত মেথডেও আপনি এই ৩টি একসেস মডিফায়ার ব্যবহার করে একসেস নিয়ন্ত্রন করতে পারেন।
1. public
2. private
3. protected
আমরা কেন একসেস মডিফায়ার ব্যবহার করব?উত্তর:কারন এতে আমি এটা ঠিক করে দিতে পারবে যে,আমার তৈরী করা ক্লাসটি অন্য পিএইচপি প্রোগ্রামার কিভাবে ব্যবহার করবে।এই ধারনা থেকে একটা গুরত্বপূর্ন তথ্য বেরিয়ে আসে তাহল একটা বড় প্রোজেক্টে একসাথে অনেক পিএইচপি প্রোগ্রামার কাজ করতে পারবে এবং তাই করাও হয়ে থাকে।
নোট:যেহেতু get_pinn_number() এটি private তাই এই মেথডটি শুধুমাত্র যে ক্লাসে আছে,ঐ ক্লাস থেকে ব্যবহার করা যাবে।যদি স্ক্রিপ্টের অন্য কোথাও থেকে এই মেথডকে কল করতে চান তাহলে public ঘোষনা করতে হবে।
Post a Comment