POO em Ruby - Parte 1 | OneBitCode

Programação Orientada a Objetos em Ruby 🧱

Parte 1 - Aula 6 do curso de Ruby da OneBitCode

O Que é Programação Orientada a Objetos?

POO é um paradigma de programação que organiza o software em "objetos" que combinam dados (atributos) e comportamentos (métodos). Em Ruby, tudo é um objeto!

Analogia: Planta vs Casa

Uma classe é como uma planta baixa - define a estrutura. Um objeto é como uma casa construída a partir dessa planta - é a instância concreta.

Os 4 Pilares da POO

🔍 Abstração

Modelar entidades do mundo real como classes no código

📦 Encapsulamento

Proteger dados internos e expor apenas o necessário

🧬 Herança

Compartilhar comportamentos entre classes relacionadas

🔄 Polimorfismo

Métodos com mesmo nome agindo diferente em classes diferentes

Criando Classes e Objetos

# Definindo uma classe class Computer def turn_on "Turning on the computer" end def shut_down "Shutting down the computer" end end # Criando um objeto my_computer = Computer.new puts my_computer.turn_on # "Turning on the computer"

Herança em Ruby

Diagrama de Herança:

Animal (pai) → Cachorro (filho)

Animal (pai) → Gato (filho)

class Animal def jump "Jumping!" end def sleep "ZzzZzz" end end class Dog < Animal # < significa herança def bark "Au Au!" end end dog = Dog.new puts dog.jump # "Jumping!" (herdado) puts dog.bark # "Au Au!" (próprio)

Polimorfismo na Prática

class Instrument def write "Writing" end end class Pencil < Instrument def write "Writing with pencil" end end class Pen < Instrument def write "Writing with pen" end end keyboard = Instrument.new pencil = Pencil.new pen = Pen.new [keyboard, pencil, pen].each { |i| puts i.write } # Output: # Writing # Writing with pencil # Writing with pen

Usando super

A palavra-chave super chama o método da classe pai:

class Pen < Instrument def write super + " with pen" # "Writing with pen" end end

🎯 Missão Especial

Crie um sistema de classes para esportistas:

  1. Classe Esportista com método competir que imprime "Participando de uma competição"
  2. Classe JogadorDeFutebol que herda de Esportista e tem método correr ("Correndo atrás da bola")
  3. Classe Maratonista que herda de Esportista e tem método correr ("Percorrendo o circuito")
  4. Crie objetos e chame os métodos para demonstrar herança e polimorfismo

Próximos Passos

Na Parte 2 da POO em Ruby, exploraremos:

  • Atributos e métodos de classe
  • Modificadores de acesso (public, private, protected)
  • Módulos e mixins
  • Métodos de classe vs métodos de instância

© 2023 OneBitCode - Todos os direitos reservados

Transformando iniciantes em desenvolvedores profissionais

Postar um comentário

0 Comentários