Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Programação orientada a objetos - Aula 2
+2
gladistony
RD12
6 participantes
Página 1 de 1
Programação orientada a objetos - Aula 2
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
Re: Programação orientada a objetos - Aula 2
Ótima aula faltou falar só do Sub pra ficar bem legal.
_________________
Paga um café? Patreon
Komuro Takashi- Colaborador
- Mensagens : 1047
Créditos : 130
Re: Programação orientada a objetos - Aula 2
bem legal cara, só que voce deveria informar um pouco mais de coisa. afinal a maioria dos iniciantes são muito curiosos e querem saber alguns "motivos" (pelo menos aconteceu comigo quando começava a uns 5 anos atras).
por exemplo, por que não podemos utilizar assim
$humanoresp = Humano.new.resp
temos sempre que instanciar a classe em um container para depois utilizar algum método.
esse tipo de coisa no inicio pelo menos me incomodou um pouco no começo (olhar crítico é foda )
fora isso a aula ficou muito legal
por exemplo, por que não podemos utilizar assim
$humanoresp = Humano.new.resp
temos sempre que instanciar a classe em um container para depois utilizar algum método.
esse tipo de coisa no inicio pelo menos me incomodou um pouco no começo (olhar crítico é foda )
fora isso a aula ficou muito legal
_________________
Para Aqueles que gostam de Min e de meu Trabalho;
Upem Meu Pet nao custa nda!!
- Pet:
Nanzin- Membro de Honra
- Mensagens : 1550
Créditos : 252
Re: Programação orientada a objetos - Aula 2
Desculpe pela necromancia aqui, mas tem parte 3, 4, 5, dessas aulas? Onde acho?
_________________
Apoie a CleanWaterSoft no Apoia.se!
Desenvolvendo jogos acessíveis ao brasileiro
Re: Programação orientada a objetos - Aula 2
Não se preocupe, para duvidas é permitido reviver.CleanWater escreveu:Desculpe pela necromancia aqui, mas tem parte 3, 4, 5, dessas aulas? Onde acho?
Não há, esta foi a ultima aula postada.
LeonM²- Lenda
- Mensagens : 1802
Créditos : 153
Tópicos semelhantes
» Aprenda lógica de programação e programação orientada a objetos com C#
» Introdução a Programação Orientada a Objetos
» SK - Lógica de Programação - Aula 1
» Aula de Programação Web - HTML 4
» Aula 2 - A Programação e as Operações Logicas
» Introdução a Programação Orientada a Objetos
» SK - Lógica de Programação - Aula 1
» Aula de Programação Web - HTML 4
» Aula 2 - A Programação e as Operações Logicas
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos