در این مقاله با اصول اولیه OOP آشنا می شویم. برنامه نویسی شی گرا الگویی است که مفاهیم زیادی مانند وراثت، اتصال داده ها، چندشکلی و غیره را ارائه می دهد.
Simula اولین زبان برنامه نویسی شی گرا محسوب می شود.
زبان های شی گرا محبوب:
و غیره ...
هدف اصلی برنامه نویسی شی گرا پیاده سازی موجودیت های دنیای واقعی است، به عنوان مثال، شی، کلاس ها، انتزاع، وراثت، چند شکلی و غیره.
Object به معنای موجودی واقعی مانند قلم، صندلی، میز، کامپیوتر، ساعت و غیره است. برنامه نویسی شی گرا یک متدولوژی یا پارادایم برای طراحی یک برنامه با استفاده از کلاس ها و اشیاء است. توسعه و نگهداری نرم افزار را با ارائه برخی مفاهیم ساده می کند:
جدای از این مفاهیم، اصطلاحات دیگری نیز وجود دارد که در طراحی شی گرا به کار می روند:
هر موجودی که حالت و رفتار داشته باشد به عنوان یک شی شناخته می شود. مثلا صندلی، خودکار، میز، کیبورد، دوچرخه و... می تواند فیزیکی یا منطقی باشد.
یک شی را می توان به عنوان نمونه ای از یک کلاس تعریف کرد. یک شی حاوی یک آدرس است و مقداری فضای در حافظه اشغال می کند. اشیاء می توانند بدون دانستن جزئیات داده ها یا کد یکدیگر ارتباط برقرار کنند. تنها چیزی که لازم است نوع پیام پذیرفته شده و نوع پاسخی است که توسط اشیا بازگردانده می شود.
مثال: سگ یک شی است زیرا دارای حالت هایی مانند رنگ، نام، نژاد و غیره و همچنین رفتارهایی مانند تکان دادن دم، پارس کردن، خوردن و غیره است.
به مجموعه اشیاء کلاس می گویند. یک موجود منطقی است.
یک کلاس همچنین می تواند به عنوان یک طرح اولیه تعریف شود که از آن می توانید یک شی جداگانه ایجاد کنید. کلاس هیچ فضایی را مصرف نمی کند.
هنگامی که یک شی تمام خصوصیات و رفتارهای یک شی والد را بدست می آورد، به آن ارث می گویند. قابلیت استفاده مجدد کد را فراهم می کند. برای دستیابی به چند ریختی زمان اجرا استفاده می شود.
اگر یک کار به روش های مختلف انجام شود، به آن چند شکلی می گویند. به عنوان مثال: متقاعد کردن مشتری به طور متفاوت، کشیدن چیزی، مثلاً شکل، مثلث، مستطیل و غیره.
در جاوا برای رسیدن به چند ریختی از روش overloading و overriding متد استفاده می کنیم. مثال دیگر میتواند گفتن چیزی باشد. به عنوان مثال، یک گربه با میو صحبت می کند ، سگ پارس می کند، و غیره .
پنهان کردن جزئیات داخلی و نمایش عملکرد به عنوان انتزاع شناخته می شود. به عنوان مثال تماس تلفنی، ما پردازش داخلی را نمی دانیم.
در جاوا از کلاس انتزاعی و واسط برای دستیابی به انتزاع استفاده می کنیم.
اتصال (یا بسته بندی) کد و داده ها با هم در یک واحد واحد به عنوان کپسوله سازی شناخته می شود. به عنوان مثال، یک کپسول، آن را با داروهای مختلف پیچیده شده است.
کلاس جاوا نمونه ای از کپسوله سازی است. جاوا یک کلاس کاملاً کپسوله شده است زیرا همه اعضای داده در اینجا خصوصی هستند.
جفت به دانش یا اطلاعات یا وابستگی یک طبقه دیگر اشاره دارد. زمانی بوجود می آید که طبقات از یکدیگر آگاه باشند. اگر کلاسی اطلاعات جزییات کلاس دیگری را داشته باشد، جفت قوی وجود دارد. در جاوا، ما از اصلاح کننده های خصوصی، محافظت شده و عمومی برای نمایش سطح دید یک کلاس، متد و فیلد استفاده می کنیم. شما میتوانید از رابطها برای اتصال ضعیفتر استفاده کنید زیرا پیادهسازی مشخصی وجود ندارد.
انسجام به سطح مؤلفه ای اطلاق می شود که وظیفه ای را که به خوبی تعریف شده انجام می دهد. یک کار به خوبی تعریف شده با یک روش بسیار منسجم انجام می شود. روش منسجم ضعیف کار را به بخش های جداگانه تقسیم می کند. بسته java.io یک بسته بسیار منسجم است زیرا دارای کلاس ها و رابط مربوط به I/O است. با این حال، بسته java.util یک بسته منسجم ضعیف است زیرا دارای کلاس ها و رابط های نامرتبط است.
اتحادیه نشان دهنده رابطه بین اشیاء است. در اینجا، یک شی می تواند با یک شی یا چندین شی مرتبط شود. چهار نوع ارتباط بین اشیا می تواند وجود داشته باشد:
یک به یک
یک به چند
چند به یک و
چند به چند
بیایید رابطه را با مثال های بلادرنگ درک کنیم. به عنوان مثال، یک کشور می تواند یک نخست وزیر (یک به یک) داشته باشد و یک نخست وزیر می تواند چندین وزیر (یک به چند) داشته باشد. همچنین، بسیاری از نمایندگان مجلس میتوانند یک نخستوزیر داشته باشند (چند به یک)، و بسیاری از وزرا میتوانند دپارتمان های زیادی داشته باشند (چند به چند).
ارتباط می تواند بدون جهت یا دو طرفه باشد.
تجمیع راهی برای دستیابی به انجمن است. تجمع نشان دهنده رابطه ای است که در آن یک شی شامل اشیاء دیگری به عنوان بخشی از حالت خود است. نشان دهنده رابطه ضعیف بین اشیا است. همچنین در جاوا به عنوان یک رابطه دارای یک رابطه نامیده می شود. مانند، وراثت نشان دهنده رابطه است. راه دیگری برای استفاده مجدد از اشیاء است.
ترکیب نیز راهی برای دستیابی به انجمن است. ترکیب نشان دهنده رابطه ای است که در آن یک شی شامل اشیاء دیگری به عنوان بخشی از حالت خود است. یک رابطه قوی بین شیء حاوی و شیء وابسته وجود دارد. حالتی است که در آن اشیاء حاوی وجود مستقلی ندارند. اگر شی والد را حذف کنید، تمام اشیاء فرزند به طور خودکار حذف خواهند شد.
OOPs توسعه و نگهداری را آسانتر میکند، در حالی که در یک زبان برنامهنویسی رویه ای، اگر کد با افزایش اندازه پروژه بزرگ شود، مدیریت آن آسان نیست.
OOPs مخفی کردن داده ها را فراهم می کند، در حالی که، در یک زبان برنامه نویسی رویه ای، داده های سراسری را می توان از هر جایی در دسترس قرار داد.
OOPs توانایی شبیه سازی رویدادهای دنیای واقعی را بسیار موثرتر فراهم می کند. اگر از زبان برنامه نویسی شی گرا استفاده کنیم، می توانیم حل مشکل واقعی کلمه را ارائه دهیم.
نمایش داده ها در رویه-محور:
نمایش داده ها در شی گرا:
زبان برنامه نویسی مبتنی بر شی از تمام ویژگی های OOP ها به جز وراثت پیروی می کند. جاوا اسکریپت و VBScript نمونه هایی از زبان های برنامه نویسی مبتنی بر شی هستند.
منبع: https://www.javatpoint.com/
توی این مقاله می خوایم چند سایت مفید برای توسعه دهندگان معرفی کنیم.
فاطمه روانبخش 3,285 بیشتر بخوانیدتوی این مقاله می خوایم از نحوه ی یادگیری برنامه نویسی برای تازه کارا بگیم.
فاطمه روانبخش 3,113 بیشتر بخوانیدتوی این مقاله می خوایم از کاربردهای مختلف جاوا اسکریپت بگیم.
فاطمه روانبخش 1,584 بیشتر بخوانید