X

آموزش مقدماتی C++ | سطوح دسترسی

تا کنون با سطح دسترسی public آشنا شدید که در همه مثال های کلاس استفاده شده بود:

class MyClass {  
  public:        // سطح دسترسی
     // اعضای کلاس در این قسمت قرار می گیرند
};

 

کلمه public یک سطح دسترسی را مشخص می کند. این کلمه می گوید که متد ها و ویژگی های یک کلاس در چه جاهایی در دسترس هستند. در مثال بالا، اعضای کلاس public هستند، به این معنا که در هر جایی خارج از کلاس می توانند در دسترس قرار بگیرند و ویرایش شوند.

درC++‎‎‎ سه نوع سطح دسترسی وجود دارد :

  • سطح دسترسی public : اعضا در خارج از کلاس در دسترس هستند
  • سطح دسترسی private: اعضا در خارج از کلاس در دسترس نیستند
  • سطح دسترسی protected: اعضا در خارج از کلاس در دسترسی نیستند، اما در کلاس های وارث در دسترس هستند (در مورد کلاس های فرزند در بخش وراثت توضیح داده می شود)

در مثال زیر تفاوت میان اعضای public و private نمایش داده شده است:

اگر تلاش کنیم که به یک ویژگی private دسترسی داشته باشیم، با خطای زیر رو برو خواهیم شد.


error: y is private
class  MyClass {
   public:    // Public سطح دسترسی
    int x;   // Public ویژگی
   private:   // Private سطح دسترسی
    int y;   // Private ویژگی
};

int main() {
  MyClass  myObj;
  myObj.x = 25;  // مجاز (public)
  myObj.y = 50;  //  غیر مجاز (private)
   return 0;
}

نکته: می توان به اعضای private از یک کلاس با استفاده از یک متد public از همان کلاس دسترسی داشت. به این کار “کپسوله سازی” می گویند.

نکته: بهتر است که همیشه ویژگی های یک کلاس تا جای ممکن به صورت private تعریف شوند. با این کار احتمال خراب شدن کد توسط خودتان یا دیگران پایین می آید. همچنین مفهوم اصلی “کپسوله سازی” بر همین اساس است، که در بخش بعد یاد خواهید گرفت.

نکته: به صورت پیش فرض اگر هیچ سطح دسترسی مشخص نشود، همه ی اعضا private هستند.

class  MyClass {
  int x;   // Private ویژگی
  int y;   // Private ویژگی
};

 

پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1