متین تلخابی
متین تلخابی
خواندن ۲ دقیقه·۴ ماه پیش

سری OOP قسمت هشتم(ترکیب Composition)

توی این اصل به جای ارث بری از کلاس ها یک کلاس رو به یه کلاس دیگه به عنوان اعضا یا فیلد خودش ارجاع می ده
برای درک بیشتر موضوع می تونی کد زیر رو بخونی

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

مزایای ترکیب:

مدیریت بهتر وابستگی‌ها: از ترکیب به جای ارث‌بری استفاده می‌شود، که به کاهش وابستگی‌های مستقیم و افزایش انعطاف‌پذیری کمک می‌کند.
پیکربندی مجدد آسان: می‌توان به راحتی اشیاء را تغییر داد یا جایگزین کرد بدون نیاز به تغییر در کلاس‌های دیگر.
قابلیت استفاده مجدد: می‌توان از کلاس‌های ساده مانند Engine و Wheel در کلاس‌های دیگر استفاده کرد.



اگه خواستی کل سری اصول برنامه نویسی شیء گرایی رو یه جا داشته باشی پیشنهاد می کنم این پست رو هم ببینی:

https://virgool.io/@KMmatin/%D8%A7%D8%B5%D9%88%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B4%DB%8C%D8%A1-%DA%AF%D8%B1%D8%A7-xse873qxggs4



خوب برای این پست کافیه
اگه خودت نکته ای رو میشناسی که من اشاره نکردم توی کامنت بگو
امیدوارم این پست به دردتون خورده باشه
موفق و پیروز باشید ...

ان شاء الله راهی که میریم ختم بشه به ظهور سریعتر آقا امام زمان...

oopcompositionاصول برنامه نویسی شیء گراترکیب شیءگراییکلاس نمایانگر
برنامه‌نویس Back End مسلط به زبان‌های TailwindCSS، JavaScript، Python و فریم‌ورک Django. مشتاق یادگیری و پیشرفت
شاید از این پست‌ها خوشتان بیاید