مفهوم Object-Oriented Programming (بخش دوم)
مفهوم Object-Oriented Programming (بخش دوم)
در این مقاله به مطالب زیر می پردازیم:
-
تفاوت بین زبان های شی گرا و مبتنی بر شیء
-
درک مفاهیم Association، Aggregation، Composition و Dependency relationship
مفهوم Object-Oriented Programming (بخش دوم)
در این مقاله به مطالب زیر می پردازیم:
-
تفاوت بین زبان های شی گرا و مبتنی بر شیء
-
درک مفاهیم Association، Aggregation، Composition و Dependency relationship
زبان های برنامه نویسی شی گرا و مبتنی بر Object دارای ویژگی های مختلف و رفتار هستند. در این مقاله، من قصد دارم تفاوت اصلی بین این دو زبان برنامه نویسی را بیان کنم.
Object oriented language
- زبان شی گرا از تمام ویژگی های OOP ها پشتیبانی می کند.
- زبان Object-Oriented دارای شیء ساخته شده نیست.
- زبانهای شی گرا C ++، C #، Java و غیره هستند.
Object based language
- زبان مبتنی بر شیء از تمام ویژگی های OOP ها مانند Polymorphism (چندریختی) و وراثت پشتیبانی نمی کند.
- زبان مبتنی بر شیء دارای چیدمان ساخته شده مانند جاوا اسکریپت است.
- زبان های مبتنی بر شیء جاوا اسکریپت، VB و غیره هستند.
درک مفاهیم Association، Aggregation، Composition و Dependency در زبان های شی گرا
یک رابطه (relationship) ارتباط بین اشیا را تعریف می کند. این توضیح میدهد که چگونه اشیاء به یکدیگر متصل شده و رفتار آنها چگونه است.
Association
این نشان دهنده یک رابطه بین دو یا چند اشیا است که تمام اشیا چرخه عمر خود را دارند و هیچ صاحبی وجود ندارد.
بیایید نمونه ای از رابطه بین معلم و دانش آموز را بیاموزیم. دانش آموزان چندگانه می توانند با یک معلم واحد ارتباط برقرار کنند و یک دانش آموز تنها می تواند با معلمان متعدد ارتباط برقرار کند. اما بین اشیاء هیچ مالکیتی وجود ندارد و هر دو چرخه عمر خود را دارند. هر دو می توانند به طور مستقل ساخته و حذف شوند.
Aggregation
همه شیء چرخه عمر خود را دارند، اما مالکیت وجود دارد. این نشان دهنده بخش از رابطه یا یک رابطه کامل است.
بیایید نمونه ای از رابطه بین اداره و معلم را بیاموزیم. یک معلم ممکن است متعلق به چندین واحد باشد از این رو معلم بخشی از چند بخش است. اما اگر یک بخش را حذف کنیم، Object Teacher نابود نخواهد شد.
Composition
این یک نوع قوی از Aggregation است. در این رابطه، اشیاء کودک چرخه حیات خود را بدون شی Parent ندارد. اگر یک پدر والدین حذف شود، همه اشیای فرزندش نیز حذف خواهند شد. این نشان دهنده رابطه "مرگ" است.
بیایید نمونه ای از رابطه بین خانه و اتاق را بیاموزیم. خانه می تواند شامل چندین اتاق باشد که هیچ زندگی مستقل از اتاق وجود ندارد و هر اتاق نمی تواند به دو خانه متفاوت متعلق باشد اگر اتاق خانه را حذف کنیم به طور خودکار حذف می شود.
بیایید نمونه دیگری از رابطه بین سوالات و گزینه ها را بدست آوریم. سوالات تنها می تواند گزینه های متعدد و گزینه ای را نمی توان به چند سوال متعلق داد. اگر ما گزینه های سوالی را حذف کنیم، به صورت خودکار حذف خواهد شد.
Dependency
این نشان دهنده یک رابطه بین دو یا چند اشیاء است که در آن یک شی به یک شیء دیگر با توجه به مشخصات یا پیاده سازی آن مربوط می شود.
بیایید نمونه ای از رابطه بین کلاینت و سرور را بدست آوریم. کلاینت برای اجرای ویژگی های آن وابسته به سرویس دهنده (سرور) است.
بیایید مثال دیگری از رابطه بین مشتری و تامین کننده بگیریم. یک مشتری وابسته به تامین کننده برای تامین محصولات است. اگر تامین کننده محصولات را عرضه نمی کند، مشتری نمی تواند از این محصولات استفاده کند.
"منتشر شده در سایت ABLY"