Урок 14. Трейты Flashcards

1
Q

Что такое трейт ?

A

Специальный класс с помощью которого можно добавлять функциональность в другие классы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Особенности трейта

A
  1. Нельзя создать экземпляр класса из трейта
  2. Все свойства и методы трейта переданные в класс доступны в нем
  3. У трейта могут быть абстрактные методы
  4. Один трейт можно подключить внутрь другого трейта через use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Создание трейта

A

Схож с синтаксисом класса только вместо class будет trait

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Добавление трейта в класс

A

в начале класса указывается название трейта через use
use TraitOne;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Использование указателя parent:: на метод трейта внутри класса реализующего трейт

A

Будет фатальная ошибка, если нужно все же реализовать метод трейта то нужно переименовать трейт с помощью алиаса
use Trait {
Trait::method as method;
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly