Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 ?
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.
Obrigado pela ajuda pessoal.. só mais uma coisa, é viável eu colocar namespaces para nomear traits ?
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:
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