Ruby – Classes – Linux

Publicado: 27 de dezembro de 2014 em Ruby on Rails

Programação orientada a objetos representa o mundo real. Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Em orientação a objetos, uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento de seus objetos através de métodos e os estados possíveis destes objetos através de atributos. Em outros termos, uma classe descreve os serviços providos por seus objetos e quais informações eles podem armazenar.

Porque Usar Classes?

No mundo real, muitas vezes você vai encontrar muitos objetos individuais todos da mesma espécie. Pode haver milhares de outros bebês na existência, todos parecidos. Cada bebê foi construído a partir do mesmo conjunto de projetos(DNA) e, portanto, contém os mesmos componentes. Em termos de orientação a objetos, dizemos que o seu bebê é uma instância da classe de objetos conhecidos como bebê. Uma classe é o modelo a partir do qual objetos individuais são criados. Criando a classe bebê teremos um objeto bebê com seus atributos definidos:

Bebê

Bebê

Classes Ruby

Em Ruby tudo é um objeto, então podemos dizer que tudo tem uma classe, deste modo Ruby possui alguns conceitos diferentes de outras linguagens de programação hibridas como por exemplo C++ e Java. Entretanto uma classe escrita em Ruby também possui os conceitos básicos da linguagem orientada a objeto e possui basicamente 3 partes distintas:

  • A Definição da classe  (Nome da classe: Bebe).
  • Os membros da classe (Atributos da classe: nome, peso, tamanho).
  • Construtor da classe (Método: initialize).
Classe - Bebê

Classe – Bebê

Exemplo:

Neste exemplo criamos uma classe chamada Bebe e criamos um construtor para inicializar os valores para cada bebê que for instanciado, e também utilizamos um recurso que nos permite não inicializar valores na classe simulando um construtor Overload, no qual permite instanciar um objeto Bebe com valores ou sem valores definidos podendo alimenta-los através de métodos ou atributos a qualquer hora.

Ruby

#!/usr/bin/env ruby
# Desenvolvimento Aberto
# Classes.rb

class Bebe

   # Define atributos
   attr_accessor :nome, :peso, :tamanho
   
   # Define construtor da classe (Efeito Overload)
   def initialize (nome = nil, peso=nil, tamanho=nil)
     @nome = nome 
     @peso = peso
     @tamanho = tamanho
   end
  
end

# Cria instância do Bebê construtor defindo
b1 = Bebe.new("Daniel", "3.5", "36")

# Cria instância do Bebê construtor overload
b2 = Bebe.new

# Alimenta valores nos atributos publicos
b2.nome="Sabrina"
b2.peso="2.7"
b2.tamanho="32"

# Imprime Bebês
puts "Bebê 1:", "Nome: " + b1.nome, "Peso: " + b1.peso, "Tamanho: " + b1.tamanho + "cm"

puts "\nBebê 2:", "Nome: " + b2.nome, "Peso: " + b2.peso, "Tamanho: " + b2.tamanho + "cm"
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s