توی این اصل به جای ارث بری از کلاس ها یک کلاس رو به یه کلاس دیگه به عنوان اعضا یا فیلد خودش ارجاع می ده
برای درک بیشتر موضوع می تونی کد زیر رو بخونی
کلاسEngine
:این کلاس نمایانگر یک موتور است و شامل متدstart
برای شروع موتور میباشد.
کلاسWheel
:این کلاس نمایانگر یک چرخ است و شامل متدrotate
برای چرخش چرخ میباشد.
کلاسCar
:این کلاس نمایانگر یک ماشین است که از ترکیب استفاده میکند. در اینجا،Car
شامل یک شیء از نوعEngine
و یک لیست از اشیاءWheel
به عنوان فیلدهای خود است. این به ما این امکان را میدهد که ماشین را با موتور و چرخهای مختلف پیکربندی کنیم.
استفاده از کلاسها:ابتدا یک شیءEngine
با مشخصات مورد نظر ایجاد میکنیم. سپس چهار چرخ (Wheel
) با سایز مشخص ایجاد کرده و آنها را به یک لیست تبدیل میکنیم. سپس یک شیءCar
با موتور و چرخها ایجاد میکنیم و متدstart_car
را فراخوانی میکنیم که وضعیت موتور و چرخها را به نمایش میگذارد.
مدیریت بهتر وابستگیها: از ترکیب به جای ارثبری استفاده میشود، که به کاهش وابستگیهای مستقیم و افزایش انعطافپذیری کمک میکند.
پیکربندی مجدد آسان: میتوان به راحتی اشیاء را تغییر داد یا جایگزین کرد بدون نیاز به تغییر در کلاسهای دیگر.
قابلیت استفاده مجدد: میتوان از کلاسهای ساده مانندEngine
وWheel
در کلاسهای دیگر استفاده کرد.
اگه خواستی کل سری اصول برنامه نویسی شیء گرایی رو یه جا داشته باشی پیشنهاد می کنم این پست رو هم ببینی:
خوب برای این پست کافیه
اگه خودت نکته ای رو میشناسی که من اشاره نکردم توی کامنت بگو
امیدوارم این پست به دردتون خورده باشه
موفق و پیروز باشید ...
ان شاء الله راهی که میریم ختم بشه به ظهور سریعتر آقا امام زمان...