برو به محتوای اصلی
سهند شکری
مهندس آی‌تی
۴ سال پیش پرسیده شده

قابلیت Trait در برنامه‌نویسی شئ‌گرا چیست؟ چه کاربردی دارد؟

من کجام؟ اینجا کجاست؟

در جوابکو می‌تونید در مورد هر موضوعی سوال کنید، به سوالای بقیه جواب بدید و تجربه‌تون رو به اشتراک بگذارید!

در برنامه‌نویسی شئ‌گرا، Trait ۶۳به مجموعه‌ای از متد‌های مرتبط به هم می‌گویند. با استفاده از Trait می‌توان چند متد به هم مرتبط را در یک جا (به نام Trait) دسته‌بندی کنید. Trait مکانیزمی برای زبان‌های شئ‌گرایی است که از وراثت چندگانه (multiple inheritance۶۹) پشتیبانی نمی‌کنند و برای استفاده مجدد از کد بکار میرود. در اینگونه زبان‌ها یک کلاس می‌تواند علاوه بر ارث بردن از یک کلاس از چند Trait هم استفاده کند. 

بعنوان مثال در جاوا 8 به بعد قابلیتی اضافه شد به نام متد‌های  Default که مشکل جاوا در وراثت چندگانه رو حل کرد که بعنوان Trait هم شناخته میشه (منبع۶۶). 

بیشترین جایی که زیاد شنیده میشه تو زبان PHP ۸۲هست که به کاربر اجازه میده یک کلاس از چند کلاس (Traits) ارث‌بری کنه.