DEV Community

Marcos Schwaab
Marcos Schwaab

Posted on

Orientação a Objetos em Ruby.

Em um breve resumo vamos mostrar um pouco dos conceitos de Orientação a Objetos em Ruby.
A Orientação a Objetos (OO) é um paradigma de programação que se baseia no conceito de "objetos", que são instâncias de classes.

Classes e Objetos:
Em Ruby, uma classe é um modelo para criar objetos. Os objetos são instâncias de uma classe.
Exemplo de definição de classe em Ruby:
ruby
Copy code

class Pessoa
  def initialize(nome, idade)
    @nome = nome
    @idade = idade
  end
end
Enter fullscreen mode Exit fullscreen mode

Atributos e Métodos:
Os atributos são características dos objetos e são representados por variáveis de instância (precedidas por @).
Os métodos são funções associadas a uma classe e podem ser invocados em objetos dessa classe.

class Pessoa
  def initialize(nome, idade)
    @nome = nome
    @idade = idade
  end

  def apresentar
    puts "Olá, meu nome é #{@nome} e tenho #{@idade} anos."
  end
end


pessoa = Pessoa.new("Alex", 37)
pessoa.apresentar
Enter fullscreen mode Exit fullscreen mode

Encapsulamento:
Ruby suporta encapsulamento, limitando o acesso aos membros internos de uma classe.
O uso de métodos para acessar e modificar atributos (métodos de acesso) ajuda a controlar o acesso aos dados internos.

class Pessoa
  def initialize(nome, idade)
    @nome = nome
    @idade = idade
  end

  def idade
    @idade
  end

  def idade=(nova_idade)
    @idade = nova_idade
  end
end

pessoa = Pessoa.new("Ana", 30)
puts pessoa.idade
pessoa.idade = 31
puts pessoa.idade
Enter fullscreen mode Exit fullscreen mode

Herança:
Ruby suporta herança, permitindo que uma classe herde características de outra.
A classe filha pode estender ou modificar o comportamento da classe pai.

class Aluno < Pessoa
  def initialize(nome, idade, matricula)
    super(nome, idade)
    @matricula = matricula
  end

  def apresentar
    puts "Sou um aluno chamado #{@nome}, tenho #{@idade} anos e minha matrícula é #{@matricula}."
  end
end

aluno = Aluno.new("Paula", 20, "A12345")
aluno.apresentar
Enter fullscreen mode Exit fullscreen mode

Estes são alguns dos conceitos fundamentais de Orientação a Objetos em Ruby. A linguagem fornece uma sintaxe elegante e flexível para implementar esses conceitos, permitindo que os desenvolvedores criem código modular e reutilizável.

Top comments (0)