Mixins e módulos
Use módulos e mixins para ampliar a funcionalidade de classes sem herança tradicional.
Mixins e módulos é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 4 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 Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.
Compartilhando código com módulos
Composições e módulos
Os módulos permitem organizar e reutilizar código sem usar a herança tradicional.
As composições permitem que várias classes compartilhem comportamento sem terem uma relação direta.
Nesta lição, você aprenderá a usar módulos e composições em Ruby.

Definindo um módulo
Definindo um módulo
Os módulos são definidos usando a palavra-chave module e não podem ser instanciados.
module Greetings
def say_hello
puts 'Hello!'
end
endIncluindo um módulo
Incluindo um módulo
Use include para adicionar métodos do módulo como métodos de instância.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
include Greetings
end
person1 = Person.new
person1.say_helloUsando a extensão
Usando a extensão
extend adiciona métodos do módulo como métodos de classe.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
extend Greetings
end
Person.say_helloUsando vários módulos
Usando vários módulos
Uma classe pode incluir vários módulos para oferecer funcionalidades diferentes.
module Walkable
def walk
puts 'Walking...'
end
end
module Talkable
def talk
puts 'Talking...'
end
end
class Person
include Walkable
include Talkable
end
person1 = Person.new
person1.walk
person1.talkUsando constantes em módulos
Usando constantes em módulos
Os módulos podem armazenar constantes que podem ser acessadas usando ::.
module MathOperations
PI = 3.14
end
puts MathOperations::PIEncapsulando métodos em módulos
Encapsulando métodos em módulos
Os módulos permitem definir métodos auxiliares que podem ser usados em diferentes classes.
module Formatter
def format_text(text)
text.upcase
end
end
class Document
include Formatter
end
doc = Document.new
puts doc.format_text('hello')Usando self em módulos
Usando self em módulos
Os métodos dentro de um módulo podem ser definidos usando self para torná-los acessíveis diretamente.
module Helper
def self.greet
puts 'Hello from a module!'
end
end
Helper.greetParabéns!
Parabéns!
Você aprendeu a usar composições e módulos em Ruby.
Em seguida, você explorará o trabalho com arquivos e operações de entrada e saída.

Perguntas Frequentes
A aula “Mixins e módulos” é grátis?
Sim — o texto completo de “Mixins e módulos” é 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 Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.
O que vou aprender em “Mixins e módulos”?
Use módulos e mixins para ampliar a funcionalidade de classes sem herança tradicional. Você pratica Ruby 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 Ruby Academy?
Nenhuma experiência prévia é necessária. Ruby 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 4 de 4.
Quanto tempo leva a aula “Mixins e módulos”?
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 Ruby Academy?
Sim. Cada aula de Ruby 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.