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.

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →