مفهوم Object-Oriented Programming (بخش دوم)

مفهوم Object-Oriented Programming (بخش دوم)

مفهوم Object-Oriented Programming (بخش دوم)

در این مقاله به مطالب زیر می پردازیم:

  • تفاوت بین زبان های شی گرا و مبتنی بر شیء

  • درک مفاهیم Association، Aggregation، Composition و Dependency relationship

object-orientated-programming

مفهوم Object-Oriented Programming (بخش دوم)

در این مقاله به مطالب زیر می پردازیم:

  • تفاوت بین زبان های شی گرا و مبتنی بر شیء

  • درک مفاهیم Association، Aggregation، Composition و Dependency relationship

زبان های برنامه نویسی شی گرا و مبتنی بر Object دارای ویژگی های مختلف و رفتار هستند. در این مقاله، من قصد دارم تفاوت اصلی بین این دو زبان برنامه نویسی را بیان کنم.

Object oriented language

  1. زبان شی گرا از تمام ویژگی های OOP ها پشتیبانی می کند.
  2. زبان Object-Oriented دارای شیء ساخته شده نیست.
  3. زبانهای شی گرا C ++، C #، Java و غیره هستند.

Object based language

  1. زبان مبتنی بر شیء از تمام ویژگی های OOP ها مانند Polymorphism (چندریختی) و ​​وراثت پشتیبانی نمی کند.
  2. زبان مبتنی بر شیء دارای چیدمان ساخته شده مانند جاوا اسکریپت است.
  3. زبان های مبتنی بر شیء جاوا اسکریپت، VB و غیره هستند.

درک مفاهیم Association، Aggregation، Composition و Dependency  در زبان های شی گرا

یک رابطه (relationship) ارتباط بین اشیا را تعریف می کند. این توضیح میدهد که چگونه اشیاء به یکدیگر متصل شده و رفتار آنها چگونه است.

Association

این نشان دهنده یک رابطه بین دو یا چند اشیا است که تمام اشیا چرخه عمر خود را دارند و هیچ صاحبی وجود ندارد.

 

association

 

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

 

association-diagram

 

Aggregation

همه شیء چرخه عمر خود را دارند، اما مالکیت وجود دارد. این نشان دهنده بخش از رابطه یا یک رابطه کامل است.

 

aggregation

 

بیایید نمونه ای از رابطه بین اداره و معلم را بیاموزیم. یک معلم ممکن است متعلق به چندین واحد باشد از این رو معلم بخشی از چند بخش است. اما اگر یک بخش را حذف کنیم، Object Teacher نابود نخواهد شد.

 

aggregation-diagram

 

Composition

این یک نوع قوی از Aggregation است. در این رابطه، اشیاء کودک چرخه حیات خود را بدون شی Parent ندارد. اگر یک پدر والدین حذف شود، همه اشیای فرزندش نیز حذف خواهند شد. این نشان دهنده رابطه "مرگ" است.

 

composition

 

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

 

composition-diagram

 

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

Dependency

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

 

dependency

 

بیایید نمونه ای از رابطه بین کلاینت و سرور را بدست آوریم. کلاینت برای اجرای ویژگی های آن وابسته به سرویس دهنده (سرور) است.

 

dependency-diagram

 

بیایید مثال دیگری از رابطه بین مشتری و تامین کننده بگیریم. یک مشتری وابسته به تامین کننده برای تامین محصولات است. اگر تامین کننده محصولات را عرضه نمی کند، مشتری نمی تواند از این محصولات استفاده کند.

 

"منتشر شده در سایت ABLY"

 

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس