Galera, boa noite.
Para entender melhor esse código aí em baixo eu fui comentando algumas linhas (as que eu consegui entender) e depois testei.
Mas… tem algumas linha que eu não entendi direito.
E o código não compilou.
Portanto gostaria da ajuda de vocês para tentar me explicar o que eu não entendi.
Valew.
class Lampada{ //Cria uma classe Lampada
private String estado = "Apagada"; //Essa classe (Lampada) é privada (não se pode mexer) e a variável do tipo String é "Apagada"
public void Apagar(){ //Essa linha eu não saquei
estado = "Apagada"; //Aqui eu dei um valor a variável (que no caso seria "Apagada")
}
public void Acender(){ //Essa linha eu não saquei
estado = "Acesa"; //Criei uma variável (estado) que recebe o valor "Acesa"
}
public void MostrarEstado(){ //Essa linha eu não saquei
System.out.println("A lampada está" + estado); //Aqui é o dado de saída, que retorna se a lampada está acesa ou apagada
}
}
Essa é a definição de um metodo, um metodo é como uma ação de sua classe pode executar, ou seja se eu chamar o metodo (ação) Acender, minha lampada estará acessa
Um código bem simples para testar sua lampada, e vc ver o que acontece.
[]'s
Anderson_Leite1 like
vamos aos poucos
class Lampada{
//aqui voce criou uma classe..um molde para criar objetos no sistema
}
public void algumaCoisa(){
//isso se repete, são acoes que sua classe poderá realizar
//no seu caso, voce criou tres possíveis acoes => apagar, ascender e mostrarEstado
//o nome dado para cada ação é método
}
private String estado = "apagada";
// aqui voce criou uma variável, algo que guarda uma informação (que poderá ser alterada)
veja se as coisas começam a “clarear”
[]s
gsalcantara
Felagund, muito obrigado pela ajuda!
Vou tentar entender aqui.
gsalcantara
Anderson Leite,
cara, está melhorando sim…
Continue por favor…
Anderson_Leite1 like
Faça suas conclusoes agora, pra que agente possa continuar te ajudando.
[]s
Sua classe Lampada não é privada.
Sua classe lâmpada, está com visibilidade default (e uma classe, não pode ser private, somente public ou default)
Agora, sua variável estado, do tipo String, essa sim é privada (private).
Flw e boa sorte!
gsalcantara
ok Anderson…
skalinichenko… valew cara…
o Anderson, vou refazer os comentários aqui entao… só 1 minutinho que eu já posto ele de novo…
gsalcantara
classLampada{ //CriaumaclasseLampada
Ok…
Vamos lá por partes…
Essa primeira linha eu entendi bem não é?
Está certo o que eu comentei né?
gsalcantara
private String estado = "Apagada"; //Essa variável (estado) é do tipo String e ela tem o valor "Apagada"
2ª linha: Essa está certa agora né?
skalinichenko1 like
Até agora sim…
Copia tudo de uma vez e coloca os comentários ao lado.
Melhor!
gsalcantara
ok… deixa eu fazer isso aqui entao…
Anderson_Leite1 like
sim…mas o que é uma “classe” ?
imagine um bolo…um bolo é feito a partir de uma receita, correto ?
class é como a receita, define a criação de objetos seguindo aquelas “regras”
e como criar os objetos então se só criei a classe ?
Aqui voce criou 3 objetos a partir da mesma classe.
ok quanto isso ?
gsalcantara
bacana Anderson, entendi o que vc quis dizer…
vou concertar aqui e posto novamente pra vcs verem se eu estou entendendo mesmo…
gsalcantara1 like
classLampada{//Cria uma classe Lampada privateStringestado="Apagada";//Essa variável (estado) é do tipo String e ela tem o valor "Apagada" publicvoidApagar(){//Aqui eu criei um método (Apagar) estado="Apagada";// Aqui eu dei um valor a esse método}publicvoidAcender(){estado="Acesa";}publicvoidMostrarEstado(){System.out.println("A lampada está"+estado);}}
Tá certinho até agora galera?
skalinichenko
Correta!
Anderson_Leite1 like
ta no caminho
essa frase aqui ficou errada
//aqui eu dei um valor a esse método
ali voce fez o seguinte:
se o metodo apagar for chamado, modifique o conteudo da variavel chamada estado para “Apagada”
e como se “chama” um metodo ?
Lampada lampada1 = new Lampada(); lampada1.apagar();
gsalcantara
Bom d+ Anderson!
Estou entendendo muito…
Vamos lá:
classLampada{//Cria uma classe Lampada privateStringestado="Apagada";//Essa variável (estado) é do tipo String e ela tem o valor "Apagada" publicvoidApagar(){//Aqui eu criei um método (Apagar) estado="Apagada";// Se o metodo apagar for chamado, modifique o conteudo da variavel chamada estado para "Apagada" }publicvoidAcender(){//Aqui eu criei um método (Acender) estado="Acesa";// Se o metodo apagar for chamado, modifique o conteudo da variavel chamada estado para "Acesa"}publicvoidMostrarEstado(){System.out.println("A lampada está"+estado);}}
Tá certinho até agora?
Anderson_Leite
excelente! =]
ps: vc escreveu , por engano, nos 2 metodos :
//se o metodo apagar for chamado
gsalcantara1 like
Oba!
A linha final! = )
classLampada{//Cria uma classe Lampada privateStringestado="Apagada";//Essa variável (estado) é do tipo String e ela tem o valor "Apagada" publicvoidApagar(){//Aqui eu criei um método (Apagar) estado="Apagada";// Se o metodo apagar for chamado, modifique o conteudo da variavel chamada estado para "Apagada" }publicvoidAcender(){//Aqui eu criei um método (Acender) estado="Acesa";// Se o metodo Acender for chamado, modifique o conteudo da variavel chamada estado para "Acesa"}publicvoidMostrarEstado(){//Aqui eu criei outro método (MostrarEstado)System.out.println("A lampada está"+estado);//Se o método MostrarEstado for chamado ele vai imprimir "A lampada está + estado que eu chamar"}}
Certinho?
Anderson_Leite
nota 10, passou de ano
gsalcantara1 like
kkkkkkk…
Nossa cara!
Valeu d+ a você e ao skalinichenko.
Estava me sentindo muuuito burro cara.
Achando que nunca ia aprender Java e passar na matéria de OO.