PDA

View Full Version : کاربرد protected در برنامه نویسی شی گرایی



هم دانشگاهی
دوشنبه 18 بهمن 1389, 21:25 عصر
سلام دوستان !

برام یه سواله واقعا با وجود خصوصیت protected برای یک کلاس من خیلی خیلی خیلی کم دیدم که از این خاصیت استفاده بشه !!! :گیج:

من درست نمیفهمم واقعا protected چی کار میکنه ؟!

اصلا کلا فرق public با protected چیه ؟!!! :متفکر:

:بوس:

Salar Ashgi
دوشنبه 18 بهمن 1389, 22:30 عصر
سلام ؛ دوست عزیز بهتر است برای چنین مسائل پایه ای به کتاب مراجعه کنید ، تا بهتر و دقیق تر راهنمایی شوید ؛ با این
حال توضیحی براتون میدم :

Access Modifier ها بر 3 نوع هستند (در OOP) :


Public
Private
Protected

به احتمال زیاد با 2 مورد اول آشنا هستید ، در مورد گزینه سوم ، اینطوری هستش که
این سطح دسترسی بیشتر در استفاده از Inheritance یا وراثت نمود پیدا میکنه و در
واقع نوع داده ای Protected معادل است با = Public برای کلاسهای فرزند (مشتق) .
سعی کردم بشکل صریح و ساده بیان کنم ، امیدوارم متوجه شده باشید .
موفق باشید ./

اینم یه مثال واسه تشریح بیشتر مساله : (همین حالا نوشتم ، ممکنه از لحاظ برخی اصول OOP
مشکل داشته باشه ولی منظور اصلی رو میرسونه)



#include <iostream>
#include <conio>
class A{
public:
A(){x=0;y=0;}
A(int a){x=a;y=a;}
void print(){cout<<x<<" "<<y<<endl;}
private:
int x;
protected:
int y;};
//--------------
class B:public A{
public:
B(){z=0;y=1;}
B(int a){z=a;}
void print2(){cout<<z<<" "<<y<<endl;}
private:
int z;};
//--------------
int main(){
A obj1(6);
obj1.print();//6 6
B obj2;
obj2.print2();//0 1
getch();
}