Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Manoel Barros

Traits qual a sua utilização no POO?

Recommended Posts

Ola galera


Traits, quando utiliza-lo ?

Uma definição que o (joão batista neto) falou em uns dos seus hangouts, foi que traits é para reutilizar código e sem definição de tipo, sem definição de contrato. mas mesmo assim ainda não compreende o seu objetivo. Traits seria uma herança múltipla ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Traits permitem utilizar métodos de diversas "classes", como se fosse uma Herança Múltipla (coisa que só existe no C++, até onde sei).

 

Assim, uma Trais é uma espécie de classe genérica, que pode ser "herdada" (na verdade, usada) por diversas outras classes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguns pontos que faltam na trait (tipo, contrato, etc...), você pode definir através de uma interface.

Uma trait pode ser tão obscura quanto uma classe sem interface, é apenas um ponto de vista.

 

Quando há necessidade em uma classe obter um comportamento de varias classes pai, você pode utilizar traits para separar esse comportamento e utilizá-lo como se fosse uma herança múltipla. Só que de nada adianta ter códigos implementados se eles não são definidos em uma interface.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não só é, como deve ser utilzado. É importante ler sobre os package principles.

No link abaixo, há informações sobre cada um dos princípios:

http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.