composition

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/05/12
  • تعداد بازدید: 25

کامپوزیشن (Composition)

کامپوزیشن یعنی «داشتن یک شیء» داخل شیء دیگر به جای ارث‌بری. به جای اینکه یک کلاس از کلاس دیگری ارث ببرد، شیءها به صورت ترکیبی ساخته می‌شوند و یک کلاس شامل نمونه‌هایی از کلاس‌های دیگر است.

توضیح ساختار کامپوزیشن

در کامپوزیشن، یک کلاس جدید ویژگی‌های خود را از طریق داشتن اشیاء دیگر به دست می‌آورد. یعنی به جای ارث‌بری، کلاس جدید شامل نمونه‌هایی از کلاس‌های دیگر است و با آن‌ها تعامل می‌کند.

مثلاً کلاس Car به جای ارث‌بری از کلاس Wheel، دارای چند نمونه Wheel است.

مزایا و اهمیت کامپوزیشن
  • انعطاف‌پذیری بیشتر: می‌توان اشیاء مختلف را به صورت ترکیبی کنار هم قرار داد و قابلیت‌ها را بدون تغییر در وراثت، مدیریت کرد.
  • کاهش وابستگی و پیچیدگی: نسبت به وراثت سلسله‌مراتبی پیچیده ساده‌تر است و مشکلات وراثت چندگانه را ندارد.
  • توسعه‌پذیری بهتر: افزودن یا تغییر اجزا آسان‌تر است بدون اینکه ساختار کلی را تحت تاثیر قرار دهد.
  • کپسوله‌سازی بهتر: هر شیء مسئول عملکرد خودش است و مستقل نگه داشته می‌شود.
مثال ساده کامپوزیشن در پایتون
class Engine:
    def start(self):
        print("Engine started")

class Car:
    def __init__(self):
        self.engine = Engine()  # Car has an Engine
    
    def start(self):
        self.engine.start()  # استفاده از متد Engine از طریق کامپوزیشن

my_car = Car()
my_car.start()  # خروجی: Engine started

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.