A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação I Aula 2 (Métodos)

Apresentações semelhantes


Apresentação em tema: "Programação I Aula 2 (Métodos)"— Transcrição da apresentação:

1 Programação I Aula 2 (Métodos)
Prof. Gilberto Irajá Müller Última atualização 2/3/2009

2 Métodos É a parte da classe que se encarrega de detalhar como as operações serão feitas; Todo o processamento que um programa Java faz está definido dentro dos métodos de suas classes Utilizando ou não os dados dos seus objetos, representados pelos atributos (getter e setter)

3 Métodos Em java a sintaxe para criação de métodos é:
modificadores tipo de retorno nome do método(lista de parâmetros) { // código... } Modificadores: Pode-se citar a visibilidade (private, public, protected, package, ...) Tipo de retorno: Sempre mencionamos que um método é uma função. Neste caso, o tipo de retorno é o tipo de dado (int, double, String) que o método retornará. Caso o método não tenha retorno, ou seja, um procedimento, então, utiliza-se a palavra reservada void Lista de parâmetros: Os métodos poderão receber parâmetros que serão úteis para o seu propósito. Então, cada parâmetro (que é uma variável), recebe duas informações: tipo de dado e o nome. Ex: String nome, double salario, entre outros. Caso o método não possua parâmetros, então, devemos utilizar apenas o parênteses () sem informação.

4 Métodos Implementação do método setPeso da classe Pessoa (revisão)
public class Pessoa { public String nome; private double altura; private double peso; private int idade; public void setPeso(double novoPeso) { peso = novoPeso; } Basicamente, este método irá alterar o atributo “peso” do objeto através do valor do parâmetro “novoPeso” Modificador Parâmetro Tipo de Retorno

5 Métodos Pessoa p1 = new Pessoa(); Pessoa1 p1 Pessoa2 p2
A sintaxe para a chamada de métodos em java é: Identificador do objeto (ou variável).nome do método(lista de parâmetros); Identificador do objeto (ou variável).nome do método(); Exemplo Pessoa p1 = new Pessoa(); Pessoa p2 = new Pessoa(); p1.setPeso(80.0); p2.setPeso(70.0); Pessoa1 p1 nome: null altura: 0.0 peso: 80.0 idade: 0 nome: null altura: 0.0 peso: 70.0 idade: 0 Pessoa2 p2

6 Métodos Exercício: Codificar os métodos setNome(), setAltura() e setIdade para a classe Pessoa E o método getPeso() ? Como é realizado o retorno do valor de um método? Até o momento, criamos um método que não tem retorno (void)

7 Métodos Exercício: Crie uma classe Circulo com um atributo inteiro chamado “raio”. Escreva o método alteraRaio (lembre-se: esse é um método do tipo setter). Como ficaria o Diagrama de Classes? Exercício: Crie o objeto do tipo Circulo (nossa classe) e chame o método alteraRaio.

8 Métodos Saída de dados Para visualizar os dados dos objetos, utilizaremos uma classe “interna” do java, ou seja, uma classe pronta com seus métodos e atributos. System.out.println(); System -> classe Out -> objeto Println() -> método Vamos criar um método em nossa classe Pessoa que permitirá visualizar os dados na tela do computador public void exibeDados() { System.out.println(nome); System.out.println(peso); System.out.println(altura); System.out.println(idade); }

9 Métodos Saída de dados public void exibeDados() {
System.out.println(nome); System.out.println(peso); System.out.println(altura); System.out.println(idade); } Utilização: Pessoa p1 = new Pessoa(); p1.setNome(“João da Silva”); p1.setAltura(1.80); p1.setPeso(80.0); p1.setIdade(30); p1.exibeDados(); // Saída na tela do computador João da Silva 1.80 80.0 30

10 Métodos Concatenação de dados
Em java, podemos concatenar strings utilizando o operador “+” “João” + “ da “ + “Silva” -> “João da Silva” Caso a primeira ocorrência seja do tipo string, então, podemos concatenar dados do tipo string com int, double, .... “João “ “ “ > “João ” Melhorando a saída de dados do método exibeDados() public void exibeDados() { System.out.println(“Nome: “ + nome); System.out.println(“Peso: “ + peso); System.out.println(“Altura: “ + altura); System.out.println(“Idade: “ + idade); } Qual seria o resultado na tela do computador?

11 Métodos Construtores Exemplo para a classe Pessoa
Construtor é um método especial usado para inicializar objetos quando estes são criados. Características: Tem o mesmo nome da classe É automaticamente chamado pelo operador new Não tem tipo de retorno (mas não se escreve void) Exemplo para a classe Pessoa public Pessoa(String n, double a, double p, int i) { nome = n; altura = a; peso = p; idade = i; }

12 Métodos Construtores Pessoa1 p1
A chamada do construtor é automática, ou seja, quando o objeto é criado (instanciado) utilizando new. Exemplo Pessoa p1 = new Pessoa(“João da Silva”, 1.80, 80.0, 30); O construtor poderá ser chamado SOMENTE no momento da criação do objeto = new. nome: João da Silva altura: 1.80 peso: 80.0 idade: 30 Pessoa1 p1

13 Métodos Construtores Exercício: Para a classe Circulo, crie um método construtor em que todo o objeto do tipo Circulo tenha raio = 5 Crie uma classe do tipo Empregado. Ao ser criado o objeto do tipo Empregado, o seu salário deverá iniciar com e o número de dependentes 0.

14 Métodos Sobrecarga de métodos ou de construtores
Numa mesma classe, dois ou mais métodos (ou construtores) podem ter o mesmo nome, desde que tenham tipos ou quantidades de parâmetros diferentes (lista de parâmetros). Chama-se a isso sobrecarga de métodos ou de construtores. Chamamos a lista de parâmetros de assinatura de um método

15 Métodos Sobrecarga de métodos ou de construtores
Exemplo public class Pessoa { public String nome; private double altura; private double peso; private int idade; public Pessoa(String n) { nome = n; } public Pessoa(String n, double a) { altura = a; Mesmo nome, porém, com a assinatura diferente Mesmo nome, porém, com a assinatura diferente

16 Métodos Sobrecarga de métodos ou de construtores
O compilador Java identifica qual o construtor que deve ser acionado, dependendo dos argumentos que são passados para ele na chamada. O mesmo mecanismo vale para métodos sobrecarregados. Se não dotarmos nossa classe de construtor(es), Java adota um construtor padrão (default), sem parâmetros, que atribui valores default aos atributos do objeto. Era o que estava acontecendo com a nossa classe Pessoa() antes de introduzirmos os construtores. Pessoa p1 = new Pessoa(); Se dotarmos nossa classe de um ou mais construtores, Java não adotará construtor padrão para ela. Então, a chamada Pessoa p1 = new Pessoa(); passará a ser um erro de compilação, pois não existe mais construtor padrão na classe.

17 Métodos Exercício: Na classe Empregado você tem um construtor com dois parâmetros (salário e dependentes). Crie um outro construtor (sobrecarga) para Empregado, com dois parâmetros, o nome do empregado e o seu salário.

18 Classe Teste De modo a testarmos nossa classe Pessoa ou Empregado, podemos utilizar um recurso que chama-se de CLASSE TESTE. Classe Teste é uma classe que objetiva o teste de uma determinada classe (em nosso caso, Pessoa ou Empregado) A Classe Teste possui um método estático (veremos adiante!) chamado “main” que permite: Criar objetos das nossas classes (Pessoa e Funcionario) Testar os métodos e atributos de nossas classes

19 Classe Teste Exemplo public class TestaPessoa{ public static void main(String args[]) { Pessoa p1 = new Pessoa(“João da Silva”, 1.80, 80.0, 30); p1.exibeDados( ); } Quando executamos uma classe (um arquivo .java), Java procura o método main desta classe e executa-o. Os outros métodos só executam quando são chamados pelo método main ou por outro método qualquer da própria classe O arquivo de armazenamento do código acima possui extensão .java e, OBRIGATORIAMENTE, deverá ter o nome da classe principal, em nosso caso, TestaPessoa.java (Laboratório I)

20 Classe Teste Exercício: O que acontece (na memória e na tela) quando a classe TestaPessoa é executada? Exercício: Crie a classe teste para a classe Empregado e instancia três objetos do tipo Empregado.

21 Hot Topic A palavra-chave this é utilizada para acessar o parâmetro implícito. Exemplo de sua utilização public pessoa(String nome, double altura, double peso, int idade) { this.nome = nome; this.altura = altura; this.peso = peso; this.idade = idade; } Temos os parâmetros (nome, altura, peso, idade) iguais aos nomes dos atributos. Então, para não causar problema de referência (confusão do valor do parâmetro com o atributo), utiliza-se o this para que o java interprete de maneira correta. this.nome -> atributo nome do objeto.

22 Hot Topic Declaramos na classe Pessoa o atributo nome como public. Para efeitos de visibilidade, podemos acessar o atributo diretamente, ou seja, não utilizar os métodos getters e setters. Exemplo Pessoa p1 = new Pessoa(); p1.nome = “João da Silva”; Até o momento, estávamos utilizando p1.setNome(“João da Silva”); por questões de integridade dos dados. Dessa forma, podemos alterar um atributo sem utilizar métodos! PERIGOSO! Os modificadores private/protected/package/public permitem fazer isso (visibilidade). Como orientação, usaremos private para os atributos. Os demais atributos (altura, peso, idade) podem ser atribuídos dessa forma?

23 Métodos Referências bibliográficas
HORSTMANN, C. Big Java. Bookman, 2004. DEITEL, H. M.; DEITEL, Paul J. Java: como programar. 6. ed. São Paulo: Pearson, 2006.


Carregar ppt "Programação I Aula 2 (Métodos)"

Apresentações semelhantes


Anúncios Google