instituto de informática estruturade’dados’ii · 2 programação em java...
Post on 02-Dec-2018
213 Views
Preview:
TRANSCRIPT
Estrutura de Dados II
Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas
20/08/2018
Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos
Instituto de Informática
2
Programação em Java
q O código fonte em Java estão con8dos nas Classes que são a unidade de programação Java – Java tem foco em substan8vos (classes)
• Linguagens Procedurais e impera8vas como C tem foco em verbos com ações orientadas con8das em um programa fonte (código fonte em C)
3
Programação em Java
q Classe é um padrão para a construção de objetos em Java
• Objetos são criados a par8r da classe • Tipos de dados pré-‐definidos (como inteiros) são variáveis de uma classe de objetos pré-‐definidos
• Tipos definidos pelo usuário são objetos
4
Classes em Java
q As classes contém métodos
• Implementa comportamentos
q As Classes contém dados • Implementa atributos
q As Classes são reu8lizáveis
q Variáveis ou Atributos de dados (declarados no bloco da classe): podem ser usados em qualquer lugar (qualquer bloco) da classe – uso em outras classes depende de modificadores de acesso (public, private, etc);
– existem enquanto o objeto exis8r (ou enquanto a classe exis8r, se declarados sta8c).
Recordando Escopo de Variáveis em Java
5
q Variáveis locais (declaradas dentro de blocos de procedimentos) – existem enquanto o procedimento (método, bloco de controle de execução) es8ver sendo executado;
– não pode ser usado fora do bloco; – não pode ter modificadores de acesso (private, public, etc).
Recordando Escopo de Variáveis em Java
6
q Variáveis Globais (declaradas dentro de uma classe)
q Variáveis locais (declaradas dentro de blocos de procedimentos) – existem enquanto o procedimento (método, bloco de controle de execução) es8ver sendo executado;
– não pode ser usado fora do bloco; – não pode ter modificadores de acesso (private, public, etc).
Recordando Escopo de Variáveis em Java
7
Definindo atributos de uma classe em Java
q Um atributo ou variável de uma classe tem a seguinte estrutura genérica:
<visibilidade> <tipo><nomeVariavel>
9
Modificadores de acesso p/ atributos ou variáveis
q <visibilidade> -‐ é o modificador de acesso para o atributo, podendo ser: – public : poderá ser acessado por qualquer classe. – private : só poderá ser acessado dentro da mesma classe. – protected : só poderá ser acessado por classes do mesmo pacote ou por subclasses (veremos isto quando estudarmos herança).
– default (package) : só poderá ser acessado dentro da própria classe ou por classes do mesmo pacote. A maioria dos autores não considera default como modificado de acesso e sim como um padrão para atributos no mesmo pacote.
10
Exemplos em Java
class Carro { private String fabricante; private String placa; private int numeroPortas; private ...}
Palavras reservadas <visibilidade> Tipo do
Atributo <tipo>
Nome do Atributo <nomeVariavel>
11
q Vários atributos de um mesmo 8po podem ser declarados conjuntamente.
q Podemos especificar que um atributo deve ser inicializado com um valor específico.
Atenção
12
Definindo atributos em Java
class Carro { private String fabricante, modelo; private String placa, chassi; private int numeroPortas, anoFabricacao; private String paisFabricacao = “Brasil”; private ...}
Indica Mudança de valor
Valor para inicialização
13
Definindo atributos em uma Classe (Exemplos)
class Cliente { private String nome, cpf; private String rua, cep, cidade; private String pais = “Brasil”; private ... }
14
15
Métodos e Parâmetros
q Objetos têm operações que podem ser invocadas (Java as chama de métodos).
q Métodos podem ter parâmetros para passar informações adicionais necessárias para sua execução.
q Métodos implementam o comportamento dos objetos.
q Métodos de acesso fornecem informações sobre um objeto (estado do objeto).
16
Métodos e Parâmetros
q Métodos têm uma estrutura que consiste em um cabeçalho e um corpo.
q O cabeçalho define a assinatura do método.
public int obterNumero() q O corpo engloba as instruções do método.
17
Descrevendo um método em Java
public int obterNumero() { return numero; }
Tipo de retorno Nome do método
Lista de parâmetros (vazia)
Início e fim do corpo do método (bloco)
Instrução de retorno
Modificador de visibilidade
18
Métodos modificadores q Eles têm uma estrutura de método semelhante: cabeçalho e corpo.
q U8lizados para modificar o estado de um objeto.
q Alcançados por meio da modificação do valor de um ou mais campos. – Geralmente contêm instruções de atribuição.
– Geralmente recebem parâmetros.
19
Descrevendo Métodos modificadores
public void calcularSoma(int numero) { soma += numero; }
Tipo de retorno (void) Nome do método Parâmetro
Modificador de visibilidade
Instrução de atribuição
Campo sendo alterado
Métodos em Java Estrutura Genérica
q Um método de uma classe tem a seguinte estrutura genérica:
<visibilidade> <static> <tipo_retorno> <nome_método> (<parâmetros>){// corpo ou escopo do método}
20
Modificadores de acesso p/ Métodos
q <visibilidade> -‐ é o modificador de acesso para o método, podendo ser: – public : o método poderá ser acessado por qualquer classe.
– private : o método só poderá ser acessado dentro da mesma classe.
– protected : o método só poderá ser acessado por classes do mesmo pacote ou por subclasses (veremos isto em herança).
– default (package) : o método só poderá ser acessado dentro da própria classe ou por classes do mesmo pacote. Vários autores não consideram default como um modificador de acesso e sim como um padrão para pacote. 21
Modificadores de acesso p/ Métodos
q <staLc> -‐ modificador que define se o método é de classe (com sta8c) ou de instância (sem sta8c). Métodos de classe podem ser chamado sem a especificação de um objeto.
Os métodos sta8c tem um relacionamento com uma classe como um todo, enquanto os métodos que não são sta8c são associados a uma instância de classe específica (objeto) e podem manipular as variáveis de instância do objeto.
22
Declarando de Retorno em Métodos
q <Lpo_retorno> -‐ declaração do 8po de retorno do método, que pode ser qualquer um dos 8pos primi8vos, qualquer objeto.
23
Declarando de Parâmetros em Métodos
q (<parâmetros>) : – um método pode ter zero ou mais argumentos, também chamados parâmetros;
– cada argumento indicará um parte da informação que deve ser passada ao método no momento de sua chamada;
24
Declarando de Parâmetros em Métodos
q (<parâmetros>) : – quando houver mais de um argumento, eles devem ser separados por vírgulas;
– caso o método não receba argumentos, os parênteses devem ser deixados vazios.
25
Algumas regras aplicadas aos métodos
q Métodos retornam, no máximo, um valor, podendo ser uma variável ou um objeto;
q Se o 8po de retorno do método não for void, o corpo do método tem de ter um comando return;
26
Algumas regras aplicadas aos métodos
q Passagem de parâmetros com 8po diferente dos parâmetros recebidos (assinatura do método) gera erro de sintaxe;
q É importante recordar que um método não pode ser definido dentro de outro método, pode ser chamado de um outro método mas não declarado dentro de outro;
27
Definindo Métodos em Java
q Um método pode executar várias instruções, mas a mais simples é a instrução (comando) de atribuição: atributo = expressão; Exemplo: x = 3;
28
Definindo Métodos em Java q Para executar a instrução de atribuição o computador – avalia expressão, obtendo um valor; – Faz com que o novo valor de atributo seja o valor gerado pela expressão.
29
Métodos construtores q Métodos construtores são métodos especiais definidos com o mesmo nome da classe;
q Construtores são chamados automa8camente toda vez que um objeto da classe é criado;
31
Métodos construtores q Os métodos construtores servem para inicializar as variáveis de instância de seus objetos e não possuem nenhum valor de retorno.
32
Exemplo de Métodos construtores
class Cliente { private String nome, cpf;
// Construtor para classe Cliente Cliente (String nomeCliente, String cpfCliente) { nome = nomeCliente; cpf = cpfCliente; } }
33
Exercícios de Revisão envolvendo Classes, Vetores e Métodos
q Faça uma aplicação em Java que contenha duas classes no mesmo pacote chamadas de Vetores e MeusMetodos e quatro métodos.
q A classe Vetores deve ter o método principal e outro método escolhido por você que atenda as especificação deste enunciado.
q A classe MeusMetodos deve conter os outros dois métodos que também atendam as especificação deste enunciado.
34
Exercícios de Revisão envolvendo Classes, Vetores e Métodos
q Os quatro métodos estão descritos abaixo em ordem aleatória.
− Um método do 8po privado e está8co. Este método receba como parâmetros um número a ser procurado no vetor, o tamanho do vetor e o próprio conteúdo do vetor e retorne o elemento de menor valor encontrado no vetor; Os números são do 8po inteiro.
35
Exercícios de Revisão envolvendo Classes, Vetores e Métodos
− Um método cuja assinatura seja: public void busca(int x, int tam, int [] vetor); Este método deve imprimir na tela o número procurado e a posição ou posições do vetor aonde ele se encontra ou, alterna8vamente, um mensagem informado ao usuário que o referido número não foi encontrado no vetor.
Os parâmetros são x é o número procurado no vetor, tam é o tamanho do vetor e vetor é o nome do vetor com todos os seus elementos.
36
Exercícios de Revisão envolvendo Classes, Vetores e Métodos
− Um método do 8po público. Este método receba como parâmetros um número a ser procurado no vetor, o tamanho do vetor e o próprio conteúdo do vetor e retorne o elemento de maior valor encontrado no vetor; Os números são do 8po inteiro.
37
Exercícios de Revisão envolvendo Classes, Vetores e Métodos
− Um método principal que declare as variáveis necessárias e leia: • Os elementos de um vetor de números inteiros de tamanho definido e armazenado em uma variável. Neste exercício será atribuído 7 a está variável. Considere que os elementos do vetor estão neste intervalo ]-‐10000, +10000[
• O elemento procurado no vetor.
− Chame os três outros métodos e imprima os resultados necessários.
38
top related