Nesta aula iremos aprender o como criar uma classe, uma instância e a utilização de construtores em Ruby.
Em orientação a objetos trabalhamos com classes, resumidamente são "moldes" ou "formas" para criação de objetos, elas reúnem características e comportamentos que definem o conjunto de objetos que compõem essa classe.
Definição básica de classe
class Pessoa
def nome
@nome
end
def nome(value)
@nome = value
end
end
Pessoa.nome = "Danilo"
Observações:
Em Ruby o self
é usado para referenciar a própia classe, como seria o this
em várias
linguagens.
Se você não utilizar a palavra return, a última instrução será retornada.
Um método de classe é definido por
def nome
@nome
end
Um método de classe também pode receber valores padrão
def nome(nome)
@nome = nome
end
Definição de classe com inicializador
class Pessoa
def initialize(nome)
@nome = nome
end
end
Pessoa.new("Danilo")
Como de praxe copie o arquivo padrão das aulas anteriores para seguir conforme o padrão.
Definição de classe de linha única
class Carro;end
Definição de classe com métodos e definição de objeto
require 'byebug'
class Carro
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar
puts @nome
end
end
debugger
carro = Carro.new
carro.nome = "Palio"
carro.mostrar
Definição de classe com métodos e definição de objeto
require 'byebug'
class Carro
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar(marca)
puts "Marca: #{marca} - Modelo: #{self.nome}"
end
end
debugger
carro = Carro.new
carro.nome = "Palio"
carro.mostrar("Fiat")
Definição de classe com inicializador
require 'byebug'
class Carro
def initialize(nome)
@nome = nome
end
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar(marca="Marca Padrão")
puts "Marca: #{marca} - Modelo: #{self.nome}"
end
end
debugger
carro = Carro.new("Fiesta")
carro.mostrar("Ford")
Definição de classe com parâmetros padrão para o inicializador
require 'byebug'
class Carro
def initialize(nome = "Modelo Padrão")
@nome = nome
end
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar(marca = "Marca Padrão")
puts "Marca: #{marca} - Modelo: #{self.nome}"
end
end
debugger
carro = Carro.new
carro.mostrar
Nesta aula iremos aprender o como criar uma classe, uma instância e a utilização de construtores em Ruby.
Em orientação a objetos trabalhamos com classes, resumidamente são "moldes" ou "formas" para criação de objetos, elas reúnem características e comportamentos que definem o conjunto de objetos que compõem essa classe.
Definição básica de classe
class Pessoa
def nome
@nome
end
def nome(value)
@nome = value
end
end
Pessoa.nome = "Danilo"
Observações:
Em Ruby o self
é usado para referenciar a própia classe, como seria o this
em várias
linguagens.
Se você não utilizar a palavra return, a última instrução será retornada.
Um método de classe é definido por
def nome
@nome
end
Um método de classe também pode receber valores padrão
def nome(nome)
@nome = nome
end
Definição de classe com inicializador
class Pessoa
def initialize(nome)
@nome = nome
end
end
Pessoa.new("Danilo")
Como de praxe copie o arquivo padrão das aulas anteriores para seguir conforme o padrão.
Definição de classe de linha única
class Carro;end
Definição de classe com métodos e definição de objeto
require 'byebug'
class Carro
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar
puts @nome
end
end
debugger
carro = Carro.new
carro.nome = "Palio"
carro.mostrar
Definição de classe com métodos e definição de objeto
require 'byebug'
class Carro
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar(marca)
puts "Marca: #{marca} - Modelo: #{self.nome}"
end
end
debugger
carro = Carro.new
carro.nome = "Palio"
carro.mostrar("Fiat")
Definição de classe com inicializador
require 'byebug'
class Carro
def initialize(nome)
@nome = nome
end
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar(marca="Marca Padrão")
puts "Marca: #{marca} - Modelo: #{self.nome}"
end
end
debugger
carro = Carro.new("Fiesta")
carro.mostrar("Ford")
Definição de classe com parâmetros padrão para o inicializador
require 'byebug'
class Carro
def initialize(nome = "Modelo Padrão")
@nome = nome
end
def nome(value)
@nome = value
end
def nome
@nome
end
def mostrar(marca = "Marca Padrão")
puts "Marca: #{marca} - Modelo: #{self.nome}"
end
end
debugger
carro = Carro.new
carro.mostrar