O que é um trait?
Um contrato de métodos obrigatórios.
O que é um trait? é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Behavior You Can Share
Sometimes many types need the same ability, like being printable. A trait lets you describe that shared behavior once. 🤝
A Contract of Methods
Think of a trait as a contract: it lists the methods a type must provide, without saying how they work.
Like an Interface
If you have met interfaces in other languages, a trait is the same idea. It names the required methods and nothing more.
Declaring a Trait
You declare a trait with the trait keyword, then list method signatures inside it, much like a struct.
trait Greetable:
fn greet(self) -> String:
...The Three Dots Mean Empty
The ... body marks a method as required but unimplemented. The trait promises the method exists, not what it does.
No Code in the Trait
A trait usually holds only signatures. The actual logic lives in each type that agrees to follow the contract.
Why Traits Help
Traits let you write code against a capability instead of a specific type. Any conforming type just works.
Many Types, One Promise
A Dog and a Robot can both promise to greet. They share the trait while keeping totally different internals.
Traits vs Inheritance
Structs have no class-style inheritance, so traits are how Mojo shares behavior. They describe what, not a base type.
Compile-Time Checked
Mojo verifies trait conformance at compile time. If a type misses a required method, your build fails early.
The Building Block
Traits are the foundation for generic Mojo code. Master this contract idea and reusable, type-safe functions come next. 🧱
Quick Check
Let us pin down what a trait really is.
Recap
A trait is a contract of required methods. It describes shared behavior so many types can be used the same way. 🎯
Perguntas Frequentes
A aula “O que é um trait?” é grátis?
Sim — o texto completo de “O que é um trait?” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.
O que vou aprender em “O que é um trait?”?
Um contrato de métodos obrigatórios. Você pratica Mojo Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Mojo Academy?
Nenhuma experiência prévia é necessária. Mojo Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “O que é um trait?”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Mojo Academy?
Sim. Cada aula de Mojo Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que é um trait?
- Adaptando uma struct a um trait
- Traits integrados, como Copyable
- Funções genéricas sobre traits