Ver a parte 1
Programação Orientada a Objetos
Na aula anterior mostrei o básico do básico, foi mais para vocês terem noção do que é POO.
Nessa aula, irei abordar sobre: Argumentos, Heranças e Accessors.
Argumentos
Os argumentos são usados nos métodos(def) para enviarmos informações para eles realizarem alguma função. Por exemplo, você fez um método, que soma 2 números. Você pode usar 2 argumentos para executar o método com os números que você escolheu. Veja o exemplo:
O método acima precisa de 2 argumentos para ser executado, se você por menos ou mais, vai dar erro de sintaxe.
O Nome da variável numero1 e numero2 é opcional, você poe qualquer nome, e o valor que você inseriu será atribuído a essa variável.
Para executarmos o método com esses argumentos, apenas chamamos ele assim:
print( somar(5, 10) )
#Eu botei print para mostrar na tela o valor, o método retorna um valor, assim podemos exibi-lo.
Chamando o método acima, ele irá retornar 15, pois somará os dois argumentos, 5+10.
Leia os scripts do Rpg Maker, para você ter noção com o que pode se fazer com argumentos.
Heranças
As heranças são uma relação entre duas classes. Com ela, podemos herdar os métodos de outra classe, para nossa nova classe. Um exemplo de um script que recebe uma herança, são as Windows, que tem métodos herdados do script Window_Base. Elas também são chamadas de Classe Pai.
No Rm, para uma classe nossa receber herança de outra, basta colocarmos o termo < CLASSE2.
Exemplo:
class My_Window < Window_Base
My_Window é o nome da nossa classe nova, e Window_Base é uma classe que já existe, estamos usando seus métodos, como por exemplo: draw_actor_graphic. Se não usarmos a herança dessa Window_Base, teríamos que refazer esse método nas nossas windows toda hora.
Se você ainda não intendeu, imagine, os Animais. Dentre eles temos por exemplo, humanos, cachorros, gatos...
Os humanos, herdam algumas características dos animais, mas tem as suas próprias características também. Assim os humanos, cachorros, gatos, herdam essas características(exemplo: respiração '-').
Vamos para a prática, irei usar o exemplo da class Humano, na aula anterior.
Mas antes vamos criar a classe Animal.
Agora a classe Humano, herdando o método respirar, da classe Animal.
agora você pode usar o método respirar na classe Humano, mesmo não tendo ele dentro nela, pois ela herdou. Para testar isso, faça assim:
$Humano = Humanos.new
$Humano.respirar
#Isso depois de colar os dois scripts acima, e o código citado cole no final deles.
Espero que tenham entendido sobre heranças.
Accessors
Accessors são formas para você compartilhar uma variável da sua classe com as outras.
Temos 3 tipos de Accessors:
attr_accessor #Você pode ler e alterar a variável
attr_reader #Você pode apenas ler a variável
attr_writer #Você pode apenas alterar a variável
parar usarmos eles, devemos coloca-los dentro da nossa classe, mas fora dos métodos, desse jeito:
Com isso podemos pegar o valor da variável @nome da classe.
$Humano = Humano.new
print($Humano.nome)
Se tentarmos modificar essa variável, irá dar um erro, então se você por attr_writtr no lugar de attr_reader, poderá modificá-la assim:
$Humano.nome = "Lucas"
Vocês podem perceber, o accessor é como um método na nossa classe, então podemos usar attr_reader, ou então, um método:
Irá da na mesma, só que um assessor é mais limpo para nosso código.
Uma observação, a variável chama @nome, nas no attr, não incluímos o '@', apenas :nome.
Espero que tenham entendido o que eu ensinei, se gostarem da aulam oi tiverem dúvidas, comentem, assim poderei criar mais para vocês.
by RD12
Programação Orientada a Objetos
Na aula anterior mostrei o básico do básico, foi mais para vocês terem noção do que é POO.
Nessa aula, irei abordar sobre: Argumentos, Heranças e Accessors.
Argumentos
Os argumentos são usados nos métodos(def) para enviarmos informações para eles realizarem alguma função. Por exemplo, você fez um método, que soma 2 números. Você pode usar 2 argumentos para executar o método com os números que você escolheu. Veja o exemplo:
- Código:
def somar(numero1, numero2)
return numero1+numero2
end
O método acima precisa de 2 argumentos para ser executado, se você por menos ou mais, vai dar erro de sintaxe.
O Nome da variável numero1 e numero2 é opcional, você poe qualquer nome, e o valor que você inseriu será atribuído a essa variável.
Para executarmos o método com esses argumentos, apenas chamamos ele assim:
print( somar(5, 10) )
#Eu botei print para mostrar na tela o valor, o método retorna um valor, assim podemos exibi-lo.
Chamando o método acima, ele irá retornar 15, pois somará os dois argumentos, 5+10.
Leia os scripts do Rpg Maker, para você ter noção com o que pode se fazer com argumentos.
Heranças
As heranças são uma relação entre duas classes. Com ela, podemos herdar os métodos de outra classe, para nossa nova classe. Um exemplo de um script que recebe uma herança, são as Windows, que tem métodos herdados do script Window_Base. Elas também são chamadas de Classe Pai.
No Rm, para uma classe nossa receber herança de outra, basta colocarmos o termo < CLASSE2.
Exemplo:
class My_Window < Window_Base
My_Window é o nome da nossa classe nova, e Window_Base é uma classe que já existe, estamos usando seus métodos, como por exemplo: draw_actor_graphic. Se não usarmos a herança dessa Window_Base, teríamos que refazer esse método nas nossas windows toda hora.
Se você ainda não intendeu, imagine, os Animais. Dentre eles temos por exemplo, humanos, cachorros, gatos...
Os humanos, herdam algumas características dos animais, mas tem as suas próprias características também. Assim os humanos, cachorros, gatos, herdam essas características(exemplo: respiração '-').
Vamos para a prática, irei usar o exemplo da class Humano, na aula anterior.
Mas antes vamos criar a classe Animal.
- Código:
class Animal
def respirar
print("respirou")
end
end
Agora a classe Humano, herdando o método respirar, da classe Animal.
- Código:
class Humano < Animal
def falar
print("falou")
end
end
agora você pode usar o método respirar na classe Humano, mesmo não tendo ele dentro nela, pois ela herdou. Para testar isso, faça assim:
$Humano = Humanos.new
$Humano.respirar
#Isso depois de colar os dois scripts acima, e o código citado cole no final deles.
Espero que tenham entendido sobre heranças.
Accessors
Accessors são formas para você compartilhar uma variável da sua classe com as outras.
Temos 3 tipos de Accessors:
attr_accessor #Você pode ler e alterar a variável
attr_reader #Você pode apenas ler a variável
attr_writer #Você pode apenas alterar a variável
parar usarmos eles, devemos coloca-los dentro da nossa classe, mas fora dos métodos, desse jeito:
- Código:
class Humano
attr_reader :nome
def initialize
@nome = "RD12"
end
end
Com isso podemos pegar o valor da variável @nome da classe.
$Humano = Humano.new
print($Humano.nome)
Se tentarmos modificar essa variável, irá dar um erro, então se você por attr_writtr no lugar de attr_reader, poderá modificá-la assim:
$Humano.nome = "Lucas"
Vocês podem perceber, o accessor é como um método na nossa classe, então podemos usar attr_reader, ou então, um método:
- Código:
def nome
return @nome
end
Irá da na mesma, só que um assessor é mais limpo para nosso código.
Uma observação, a variável chama @nome, nas no attr, não incluímos o '@', apenas :nome.
Espero que tenham entendido o que eu ensinei, se gostarem da aulam oi tiverem dúvidas, comentem, assim poderei criar mais para vocês.
by RD12