ورود / ثبت نام سبد خرید 0
شی گرائی یا اصطلاحا bject-oriented programming یک شیوه ی برنامه نویسی است که سر و کار آن با اشیا است درست مثل دنیایی واقعی که در آن زندگی میکنیم و تمام هر چیزی که میبینیم و لمس میکنیم و استفاده میکنیم یک شی است .
برنامه نویسی شی گرائی از طبیعت الهام گرفته شده است تا به برنامه نویس کمک کند تا مسائل پیچیده و بزرگ را بهتر حل کند و کدهایی ملموس تر با قابلیت استفاده ی مجدد بنویسد .
هر شی میتواند خصوصیت های منحصر به فردی برای خود داشته باشد و همچنین میتواند عملیات خاصی را به انجام برساند .
اشیا در برنامه نویسی شی گرا میتوانند خصوصیت ها و عملکرهای خود را به اشتراک بگذارند تا دیگر اشیا استفاده کنند یا میتواند ویژگی ها و عملکردهای خصوصی داشته باشد که هیچکس از وجود آنها درون یک شی مطلع نشود و به همین علت در برنامه نویسی شی گرا ویژگی به نام کپسوله سازی داریم .
در ادامه ی مقاله تمام موارد بالا را توضیح خواهیم داد
ویژگی های برنامه نویسی شی گرا چیست ؟
چهار ویژگی بالا را سعی کردیم با زبان بسیار ساده به شما منتقل کنیم و اگر هنوز مطالب برای شما بصورت کامل جا نیوفتاده است کمی حوصله به خرج دهید و ادامه ی مقاله را با حوصله بخوانید .
در برنامه نویسی شی گرا به نقشه ی اصلی تمام اشیائی که میخواهیم تولید کنیم کلاس گفته میشود . مثلا فرض کنید در کارخانه ی ماشین سازی هستیم و دوست داریم پنج نوع ماشین تولید کنیم :
برای هر پنج نوع مدل نیاز نیست کلاس جدیدی تعریف کنیم کافیست یک کلاس به نام Car بسازیم که ویژگی های مشترک بین تمام ماشین ها را داشته باشد
ویژگی های کلاس Car :
و عملیاتی که داخل یک کلاس انجام میگیرد یا تابع های درونی یک کلاس را متُد نام گذاری میکنیم . هر متد مثل یک تابع هست که یک سری عملیات را انجام میدهد
در کلاس Car به نظر شما چه متدهایی داریم ؟ کاری که تمام ماشین ها بصورت مشترک انجام میدهد چیست ؟
متدهای کلاس Car :
ما از کلاس Car میتوانید به تعداد نامحدود شی ماشین تولید کنیم ولی هر شی ممکن است عملیات جدیدتری یا ویژگی های منحصر به فرد خود را داشته باشد
مثلا وقتی میخواهیم ماشین model 2 را تولید کنیم حتما باید مقدار مدل را به model 2 تغییر دهیم و این تعریف ویژگی های جدید است .
ممکن است عملیات استارت زدن در ماشین model 3 متفاوت باشد برای این کار کافیست یک کلاس جدید به نام model 3 بسازیم و از کلاس اصلی Car ارث بری کنیم .
با ارث بری تمام متدها و پروپرتی های ( خصوصیات ) کلاس Car به کلاس model 3 منتقل میشود و از آنها میتوانیم استفاده کنیم ولی برای اینکه متد استارت زدن متفاوت است یک متد برای استارت زدن داخل کلاس model 3 ایجاد میکنیم و این کار باعث میشود که متد استارت درون model 3 روی متد استارت زدن کلاس Car اصلی بازنویسی شود ( override ) .
به این صورت میتوانیم ماشین از نوع model 3 را بصورت نامحدود تولید کنیم . به همین راحتی !
پس تا اینجا با مفهوم کلاس ، شی ، متدهای درون کلاس و پروپرتی های ( ویژگی های ) یک کلاس آشنا شدیم .
امروزه اکثر زبان های برنامه نویسی شی گرایی را پشتیبانی میکنند و به راحتی میتوانید برای عملیات خود کلاس ایجاد کنید و اشیا تولید کنید .
یک مثال عملی دیگر در طراحی وب خدمت شما میزنم فرض کنید در سیستم سایت شما کاربران ثبت نام میکنند ولی انوع کاربر دارید مثل مدیر ، کاربرعادی ، مشتری ، فروشنده و ...
دوست دارید عملیات این ها در قالب شی گرایی باشد به ترتیب زیر عمل میکنید
تقریبا میشود گفت مفهوم بنیادین شی گرائی موارد بالاست ولی با تمرین و تکرار در زبان برنامه نویسی که کار میکنید میتوانید به مفاهیم مسلط تر شوید هر چند شی گرایی یک چیز مشترک است و اگر یکبار یاد بگیرید برای تمام زبان های برنامه نویسی کفایت میکند و نیاز نیست دوباره و دوباره برای هر زبان برنامه نویسی خاصی آنرا یاد بگیرید
پس سعی کنید شی گرائی را از مقاله ی بالا بصورت مفهومی یاد بگیرید سپس در زبان برنامه نویسی که با آن کار میکنید خود را به چالش بکشید
اتمام مقاله
مقالات دیگر مرتبط با این مقاله ی آموزشی :
دوره های آموزشی مرتبط با این مقاله :