Всичко, което трябва да знаете за чертите в PHP



Тази статия ще ви предостави подробни и изчерпателни знания за чертите в PHP, как се прилага и какви са разликите от наследяването.

Преди да разберем чертите в . Научихме за наследяването, което означава, че клас може да разшири другия клас. Да кажем, че клас B разширява клас A, а клас C също разширява клас A, което означава, че функцията, дефинирана в клас A, може да бъде достъпна от клас B и клас C, но да предположим, че ако клас B и клас C са заменили функция X и да кажем, че клас D е разширяване на двата класа.

traits-in-php





Въпреки че множество наследства не го поддържат от PHP, но предположим, че тогава би било така, коя функция ще изпълнява клас D? От клас В ли е или от клас С? Така че това всъщност е проблем с множествено наследяване, затова PHP не го поддържа, но има много случаи, в които искате да разширите повече от един клас за повторна употреба на кода.



Когато говорим за проблем с единично наследяване, клас D разширява клас C, но какво, ако искаме да имаме някои функции от клас B в клас D. За това можем да използваме черти, въведени в PHP 5.4. Той е лесен и лесен за създаване. Това е точно като клас, но само за група методи и като абстрактни класове не можете да създавате инстанции за дискретни.

какво е маркер интерфейс в Java

Черти в PHP

Като цяло, Те могат да дефинират както статични членове, така и статични методи, което помага на разработчиците да използват повторно методите свободно в няколко независими класа в различни йерархии на класове. Чертите избягват проблеми, свързани с множество наследства, Mixins и също така намалява сложността.



Синтаксис:

 

Чертите могат да бъдат включени в други класове по този начин.

class Публикувай {use Sharable} class Коментирай {use Sharable}

Тъй като PHP не позволява множество наследства, Trait се използва за преодоляване на това, като ни позволява да използваме отново една и съща функционалност в множество класове. Примерът по-долу демонстрира работата на чертите в PHP.

func ()?>

Изход:

Предимство на чертите

Чертите намаляват дублирането на код, като същевременно предотвратяват сложно наследяване на клас, което може да няма смисъл в контекста на вашето приложение.

как да използвам пакети в java -

Това помага да се дефинират прости черти, които са ясни и кратки и след това се смесват в тази функционалност, когато е подходящо.

Черти срещу Интерфейси в PHP

Като цяло основната разлика между интерфейсите и чертите в PHP е, че чертите всъщност определят действителното изпълнение на всеки метод в рамките на всеки клас, така че един и същ интерфейс се реализира от много класове, но с различно поведение, докато чертите са само парчета инжектиран код в клас в PHP.

разлика между претоварване и замяна в java
 

С това стигаме до края на тези черти в статията на python. Надявам се, че сте научили за чертите, предимството на чертите и разликата между чертите и интерфейсите.

Ако сте намерили този PHP блог за подходящ, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на “Traits in PHP” и ще се свържа с вас.