Classes e Métodos Prof. Antonio Rodrigo dos Santos Silva Disciplina: Programação Orientada a Objetos II 1 Métodos É o mecanismo através do qual os objetos se comunicam, invocando as operações desejadas. 2 Exercício resolvido 1 – Classe Lampada Quais as características de uma lâmpada? Potência (25, 40, 60, 100, 250 – em watts) Cor (amarela, branca) Tipo (incandescente, led, fluorescente) Quais as ações/comportamentos de uma lâmpada? Acender Apagar 3 Exercício resolvido 1 – Classe Lampada– Java/esquematização Objeto Lampada Lampada l1 = new Lampada(); Atributos - Características l1.potencia = 40; // em watts l1.cor = “branca”; l1.tipo = “incandescente”; Métodos - Comportamento l1.acender(); l1.apagar(); Exercício 1 Quais as características de um videogame? _____________________________ _____________________________ _____________________________ Quais as ações/comportamentos de um videogame? _____________________________ _____________________________ _____________________________ 5 Exercício1 – Java/esquematização Objeto Videogame Atributos - Características Métodos - Comportamento Exercício 2 Quais as características de um computador? _____________________________ _____________________________ _____________________________ Quais as ações/comportamentos de um computador? _____________________________ _____________________________ _____________________________ 7 Exercício 2 – Java/esquematização Objeto Computador Atributos - Características Métodos - Comportamento Implementação em Java Exemplo: classe Pessoa Toda pessoa tem um nome (atributo – característica) Toda pessoa pode comer (método – ação) 9 Sintaxe public tipoDeRetorno nomeDoMetodo ( ) { // corpo do método } public void comer( ) { JOptionPane.showMessageDialog(null,”Estou comendo!”); } tipoDeRetorno – é o tipo de dado que vai ser retornado pelo método após sua execução. Pode ser qualquer tipo como int ou String. Se o seu método não for retornar valor algum (como uma mensagem a ser exibida na tela), você precisa usar a palavra reservada void. nomeDoMetodo – é o nome que vai ser usado para chamar o método. Corpo do método – linhas de código que vão ser executadas quando o método é chamado. 10 public class Pessoa{ String nome; atributo método public void comer(){ JOptionPane.showMessageDialog(null,”Estou comendo!”); } } Pessoa p1 = new Pessoa(); p1.nome = “Maria” p1.comer(); 11 Exercício resolvido 2 public void pagar() { JOptionPane.showMessageDialog(null,”paguei 30 reais”); } a) Nome do método: _______________ pagar() b) void Tipo de retorno: ________________ c) O que este método faz? ________________ Exibe a mensagem “paguei 30 reais” d) Quais são os possíveis objetos que podem utilizar este método? Objetos da classe Cliente ______________________________________________ 12 Exercício 3 public void imprimir() { JOptionPane.showMessageDialog (null,”página 1 impressa com sucesso!”); } a) Nome do método: _______________ b) Tipo de retorno: ________________ c) O que este método faz? ________________ d) Quais são os possíveis objetos que podem utilizar este método? ______________________________________________ 13 Exercício 4 public void acelerar() { String msg = “Velocidade máxima atingida”; JOptionPane.showMessageDialog (null, msg); } a) Nome do método: _______________ b) Tipo de retorno: ________________ c) O que este método faz? ________________ d) Quais são os possíveis objetos que podem utilizar este método? ______________________________________________ 14 Parâmetros Toda pessoa pode comer (método – ação) Mas nem todo mundo come a mesma coisa. Os parâmetros são usados para repassar dados aos métodos. 15 public class Pessoa{ String nome; parâmetro public void comer(String c){ JOptionPane.showMessageDialog(null,”Estou comendo”+c); } } Pessoa p1 = new Pessoa(); p1.nome = “Maria” p1.comer(“Bolo”); 16 public class Pessoa{ String nome; parâmetro public void comer(String c){ JOptionPane.showMessageDialog(null,”Estou comendo”+c); } } Pessoa p2 = new Pessoa(); p2.nome = “João” p2.comer(“Macarrão”); 17 Exercício 5 public void pagar() { JOptionPane.showMessageDialog(null,”paguei 30 reais”); } Crie um parâmetro para o método acima, que informe ao mesmo o quanto de dinheiro será pago. Modifique a mensagem para mostrar na tela o valor. 18 Exercício 6 public void acelerar() { String msg = “Velocidade máxima atingida”; JOptionPane.showMessageDialog (null, msg); } Crie um parâmetro para o método acima, que informe ao mesmo a velocidade atingida. Modifique a mensagem para mostrar na tela a velocidade. 19