شما می توانید با عضویت در انجمن پرسش و پاسخ درسمن هرگونه سوالی دارید را مطرح کنید

آشنایی با مفهوم شی گرایی

تاریخ بروزرسانی : یکشنبه 12 خرداد 1398

تعداد بازدید : 894

گروه دوره : برنامه نویسی وب

زمان خواندن مقاله : 4

در این مقاله قصد داریم افرادی را که در آستانه آشنایی با مفاهیم برنامه نویسی هستند با برنامه نویسی شی گرا و مفهوم شی گرایی آشنا کنیم با ما همراه باشید.

آشنایی با مفهوم شی گرایی

آشنایی با مفاهیم شی گرایی

در این مقاله قصد داریم افرادی را که در آستانه آشنایی با مفاهیم برنامه نویسی هستند با برنامه نویسی شی گرا و مفهوم شی گرایی آشنا کنیم با ما همراه باشید.

برنامه نویسی شی گرا یک مدل از برنامه نویسی است که در آن به جای تعریف توابع و منطق از اشیا و داده ها استفاده می شود. در این مدل از برنامه نویسی هر شی را می توان به عنوان یک مدل داده ای در نظر گرفت که دارای خصوصیات و ویژگی های منحصر به فرد خود است. برای مثال اگر ما انسان را یک شی در برنامه نویسی شی گرا در نظر بگیریم دارای خصوصیات منحصر به فردی مانند نام، نام خانوادگی، شماره تلفن، آدرس و... است که هرکدام از این ها یک فیلد اطلاعاتی در برنامه نویسی محسوب می شوند. این در حالیست که در مدل های قبلی برنامه نویسی تاکید برنامه نویسی بر روی منطق و الگوریتم های منطقی بود نه داده های درون منطق. به نظر می رسد برنامه نویسی شی گرا به دلیل انعطاف پذیری بالا در بین برنامه نویسان محبوبیت بیشتری را کسب کرده  است.

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

بنابراین برنامه نویسی شی گرا بر روی اشیایی که توسعه دهندگان می توانند دستکاری کنند متمرکز می شود نه بر روی منطق آنها . این رویکرد در برنامه نویسی برای برنامه های بزرگ و پیچیده بسیار کاربردی است زیرا می توانیم یک پروژه بزرگ را به بخش های کوچکتر تقسیم کرده و به صورت گروهی روی یک پروژه پیچیده و بزرگ کار کرد.

اصول برنامه نویسی شی گرا:

 برنامه نویسی شی گرا بر اساس چهار اصل زیر شکل گرفته است:

  1. کپسوله سازی (  Encapsulation ):

برنامه نویسی شی گرا - کپسوله سازی

 

 

 

 

 

 

 

 

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

2- انتزاع ( abstraction):

خاصیت abstraction - برنامه نویسی شی گرا

 با خاصیت abstraction، در برنامه نویسی شی گرا در بدنه اصلی هیچ کدی نوشته نمی شود و به همین دلیل نمی توانیم مستقیما از روی کلاس های انتزاعی اشیا را بسازیم. مفهوم انتزاعی چون کد مشخصی ندارد به برنامه نویسان کمک می کند تا به راحتی بتوانند تغییرات و افزودنی های خود را در طول زمان انجام دهند.  برای مثال اگر در برنامه ای متد چاپ یا PRINT() داشته باشیم می توانیم بدنه این متد را تعریف نکنیم. سپس کلاس های فرزند از این متد بسازیم و کدهای بدنه را در این کلاس های فرزند تعریف کنیم و به راحتی از آنها شی بسازیم.

3- ارث بری و وراثت (Inheritance):

 شی گرایی - ارث بری و وراثت

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

  1. چندریختی(Polymorphism): 

 شی گرایی - چندریختی

 

 با استفاده از مفهوم چند ریختی به راحتی می توانیم یک متد عمومی تعریف کرده که هربار  ورودی های متفاوتی داشته باشد. برای مثال اگر حیوانات را اشیا در نظر بگیریم همه حیوانات غذا می خورند پس می توانیم یک متد به نام FOOD() برای آنها در نظر گرفت اما باید به این نکته ئقت داشت که همه حیوانات غذاهای یکسانی نمی خورند. بنابراین متد FOOD() می تواند هربار و برای هرکدام از حیوانات با ورودی های متفاوتی استفاده شود.

این چهار اصل از اصول برنامه نویسی شی گرا هستند که در این مدل ز برنامه نویسی به کار برده می شوند. بنابراین نتیجه می گیریم که با برنامه نویسی شی گرا کدنویسی انعطاف پذیرتر و سازماندهی شده است. به همین دلیل برنامه نویسان این مدل را به مدل های قدیمی ترجیح می دهند.

در ادامه قصد داریم چند زبان برنامه نویسی که بر پایه اصول و مفاهیم شی گرایی شکل گرفته و از مفهوم شی گرایی استفاده می کنند را معرفی کنیم.

زبان های برنامه نویسی شی گرا:

زبان برنامه نویسی جاوا:

شئ گرایی در جاوا

 جاوا یک زبان برنامه نویسی بسیار گسترده و قدرتمند است که بهترین عملکرد را در برنامه نویسی تلفن های هوشمند مبتنی بر سیستم عامل اندروید و همچنین طراحی و توسعه صفحات اینترنتی مورد استفاده قرار می گیرد.

زبان برنامه نویسی پایتون(Python):  

برنامه نویسی شی گرا پایتون- شی گرایی

پایتون یک زبان برنامه نویسی شی گرا و opensource است. این زبان برنامه نویسی به دلیل یادگیری آسان و اجرا شدن روی هر پلت فرم، یکی از زبان های برنامه نویسی بسیار محبوب و پرطرفدار محسوب می شود.

زبان برنامه نویسی C++:

برنامه نویسی شی گرا ++C- شی گرایی

 این زبان برنامه نویسی مبتنی بر مفاهیم شی گرایی است و یکی از بهترین زبان ها برای ایجاد برنامه های کاربردی در مقیاس های بسیار بزرگتر است. گفته می شود که زبان برنامه نویسی جاوا یکی از مشتقات C++ است که برای برنامه نویسی در محیط های اینترنتی مورد استفاده قرار می گیرند.

زبان برنامه نویسی Visual Basic .NET:

برنامه نویسی شی گرا Visual Basic .NET - شی گرایی

ویژوال بیسیک دات نت (VB.NET یا VB .NET) یک نسخه ویژوال بیسیک مایکروسافت است که به عنوان بخشی از گروه محصول گروه دات نت طراحی شده است تا طراحی برنامه های کاربردی وب و اصطلاحا طراحی سایت را آسانتر کند. VB.NET اولین نسخه کامل برنامه نویسی شی گرا (ویژوال بیسیک) است و به همین ترتیب از مفاهیم OOP مانند انتزاع، ارث، پلی مورفیسم و تجمع پشتیبانی می کند.

زبان برنامه نویسی Ruby:

برنامه نویسی شی گرا Ruby- شی گرایی

این زبان برنامه نویسی دارای طراحی ساده، کامل و قابل انعطاف است که بیشتر در محیط لینوکس توسعه می یابد ولیکن در اکثر پلت فرم ها اجرا می شود. این زبان برنامه نویسی معمولا طرفداران زیادی دارد که معتقدند هرکسی که با هر زبان برنامه نویسی مدرن آشنایی داشته باشد به راحتی می تواند کدهای نوشته شده در Rubby را متوجه شود.

زبان برنامه نویسی Scala:

برنامه نویسی شی گرا Scala - شی گرایی

 

یک زبان برنامه نویسی برای ایجاد نرم افزارهاست که از مفاهیم شی گرایی با قابلیت های برنامه نویسی کاربردی پشتیبانی می کند.

زبان برنامه نویسی php:

شئ گرایی در php

یک زبان برنامه نویسی اسکرسپتی اس که کدهای آن سمت سرور اجرا می شوند.این زبان برنامه نویسی صرفا برای طراحی سایت و توسعه صفحات وب مورد استفاده قرار می گیرد که از کلیه مفاهیم شی گرایی پشتیبانی می کند. دارای ویژگی OPENSOURCE است و همین ویژگی باعث شده که این زبان برنامه نویسی ار انعطاف پذیری بالایی برخوردار باشد.

انتقاد از برنامه نویسی شی گرا:

 ایده برنامه نویسی شی گرا به دلایل مختلف توسط توسعه دهندگان مورد انتقاد قرار گرفته است. بزرگترین نگرانی برنامه نویسان از این است که OOP اجزء داده های توسعه نرم افزار را بیش از حد مورد توجه قرار می دهد و به اندازه کافی در محاسبات یا الگوریتم ها تمرکز نمی کند. علاوه بر این، کد OOP ممکن است پیچیده و برای نوشتن و کامپایل طولانی تر باشد. روش های جایگزین برای OOP عبارتند از برنامه نویسی کاربردی، برنامه نویسی ساختار یافته و برنامه نویسی ضروری، اما بیشتر زبان های برنامه نویسی پیشرفته به توسعه دهندگان این امکان را می دهند که آنها را ترکیب کنند.

 


اشتراک گذاری


توضیحاتی در مورد نویسنده این مقاله :
نگین صدیقی نگین صدیقی

مدرس کامپیوتر آموزشگاه آزاد - مهندسی تولید محتوا و سئو - برنامه نویس php , ASP.NET (Web Developer)


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

گروه مقالات


آموزشی
21
علمی
21
تحقیقاتی
29


به دنبال هر آموزشی هستید در اینجا به دنبال آن باشید .