تِرِیت یا
trait چیست:در ادامه مبحث شئ گرایی به بحث trait ها می رسیم.
تریت ها به شما این امکان را می دهند تا متد هایی که می خواهید در چندین کلاس استفاده کنید را به صورت جداگانه در بخشی دیگر تعریف کنید و در کلاس های مختلف استفاده کنید.
به عنوان مثال شما متدی به نام
getColor دارید و می خواهید در دو کلاس Fruit و Vegetables استفاده کنید، در این موقعیت شما با استفاده از trait یک بار متد getColor را تعریف می کنید و در این دو کلاس use می کنید. مثال:trait Color{
public function getColor(){
return 'red';
}
}
class Fruit{
use Color;
public function chery(){
return $this->getCollor();
}
}
class Vegetables{
use Color;
public function tomato(){
return $this->getCollor();
}
}
در این نمونه شما با یک بار تعریف یک متد در دو یا چند کلاس از آن استفاده کردید و از نوشتن کد های اضافی جلوگیری کردید.مثال های بالا با زبان
PHP هستند، اما پایه و اساس trait در همه ی زبان ها به همین صورت هستند و تنها در مواردی سینتکس آنها متفاوت است.