Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias

Slides:



Advertisements
Apresentações semelhantes
Programação em Java Prof. Maurício Braga
Advertisements

Programação Orientada a Objetos*
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Paradigmas da Programação – Semestre 1 – Aula 6
Paulo Marques Hernâni Pedroso
Prof. Thiago Pereira Rique
Interação entre objetos
Orientação a Objetos: Encapsulamento e Classificação
Programação Básica em Java
Polimorfismo e Acoplamento Dinâmico
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Linguagem C Estruturas de Controle de Fluxos
Wagner Santos C. de Jesus
Orientação a Objetos Classes
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Estrutura de Dados em Java
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
CRIANDO OBJETOS EM JAVA
Classes, Objetos e Encapsulamento
Programação Orientada a Objetos com Java
JAVA Orientação a Objetos
Interfaces.
Programação I Aula 2 (Métodos)
Classes, Objetos, Atributos e Métodos JAVA
Linguagens de Programação II Aula 04 – Entendendo Classes
Linguagens de Programação II
JAVA Orientação a Objetos Sun Campus Ambassador Aula 5.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Wagner Santos C. de Jesus
Orientação a Objetos Parte II
Programação Orientada a Objetos - Java
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Orientação a Objetos usando Java
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
JAVA Sintaxe.
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Aula Prática 3 Funções Monitoria Introdução à Programação.
Construtores e Destrutores
Aula Prática 5 Monitoria IP/CC (~if669). Roteiro 1. 1.Recursão 2. 2.Escopo de Variáveis 3. 3.Arrays 4. 4.Strings.
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Bruno Inojosa MCP .NET Framework
Prof. Marcos LABORATÓRIO DE PRÁTICA DE PROGRAMAÇÃO 06.
Revisão Mini-Prova 1 Monitoria IP/CC (~if669).
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Operador Condicional (? :). Operador Condicional Operador ternário que pode ser utilizado no lugar de uma instrução if...else.
Laboratório de Programação II Método main Dados e Métodos de Classes.
Curso Básico de Android
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
Capítulo 7 Métodos. 2Capítulo 7 – Métodos Métodos Criação e chamada de métodos Passagem de parâmetros VarArgs Sobrecarga Método com valor de retorno Métodos.
Java Básico Lab Ruddá Beltrão | Cristian Costa.
Laboratório de Computação Aula 05 – Array Prof. Fábio Dias
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias

Classes fornecem o benefício da reusabilidade Programadores podem utilizar a mesma classe diversas vezes para criar os objetos Classes e Objetos

Atributos de Objeto Métodos de Objeto Atributos de Classe (atributos estáticos)‏ Métodos de Classe (métodos estáticas)‏ Conteúdo da Classe

Para criar um objeto, ou uma instância de uma classe, utilizamos o operador new Para criar um objeto da classe String, escreve-se o seguinte código: String str2 = new String("Hello world!") ou String str = "Hello world!"; Instância de Classe

Operador new Aloca memória para um objeto e retorna uma referência Ao criar um objeto, invoca-se o construtor da classe Instância de Classe

Importantes na criação de um objeto É um método onde são colocadas todas as inicializações Possuem o mesmo nome da classe Não retornam valor Executados automaticamente na utilização do operador new durante a instanciação da classe Construtores

Exemplo public class Pessoa { private String nome; private int idade; public Pessoa(){ } public Pessoa(String nome){ this.nome = nome; } public Pessoa(String nome, int idade){ this.nome = nome; this.idade = idade; }

Quando não especificamos construtores, Java provê um construtor default para nossa classe: Toda classe precisa de um construtor. Se você não escreveu nenhum, Java provê um pra você; Sem parâmetros e sem implementação. Quando especificamos construtores, o construtor default não é provido automaticamente: Se você escreveu um construtor, Java assume que você sabe o que está fazendo e não provê um; Chamar o construtor sem o parâmetro gera erro se ele não for definido explicitamente. Construtor default

Podem ser cruzadas, o que significa que você pode chamar um construtor de dentro de outro construtor Deve sempre ocorrer na primeira linha de instrução Não pode ser usada fora de construtores. Utilizando a chamada this(); Construtores chamando construtores public Pessoa(String nome){ this.nome = nome; } public Pessoa(String nome, int idade){ this(nome); this.idade = idade; }

É uma parte separada do código que pode ser chamada pelo programa principal Pode ou não retornar valor Pode aceitar tantos argumentos quantos forem necessários Após o fim da execução de um método, o fluxo de controle é retornado a quem o chamou Métodos

Decomposição – É a chave para a solução de problemas A criação de métodos resolve uma parte específica do problema Separar o problema em partes menores e manuseáveis Porque usar Métodos?

* ( *) { * } Declarando Métodos Para definir um método, especificamos: Seu tipo de retorno; Seu nome; Seus parâmetros; Sua implementação;

Assinatura de um método Define o método de uma forma única; Em Java, o nome e os tipos de parâmetros de um método formam sua assinatura; Não pode haver dois métodos com a mesma assinatura na mesma classe (mesmo que o tipo de retorno seja diferente); Algumas linguagens incluem o tipo de retorno na assinatura. Java não o faz.

Sobrecarga de Métodos Permite método com o mesmo nome mais diferentes argumentos(assinatura), possa ter implementações diferentes e retornar valores de diferentes tipos. Pode ser usado quando a mesma operação tem implementações diferentes. Propriedades: mesmo nome; argumentos diferentes; tipo do retorno pode ser igual ou diferente;

Exemplo public void imprimir(String nome){ System.out.println("Nome: " + nome); } public void imprimir(String nome, int idade){ System.out.println("Nome: " + nome + " Idade: " + idade); } public void imprimir(int idade, String nome){ System.out.println("Nome: " + nome + " Idade: " + idade); }

partir do Java 5 se tornou possível definir métodos que recebem um número variável de argumentos; Parâmetros variáveis public class Teste { void imprimir(boolean msg, String... objs) { if (msg) System.out.println("Args:"); for (int i = 0; i < objs.length; i++) System.out.println(objs[i]); } public static void main(String[] args) { Teste teste = new Teste(); teste.imprimir(true, "Java", "Sun", "JCP"); }

Só pode haver uma lista de parâmetros variáveis na declaração do método; Deve ser a última a ser declarada; Funciona como um vetor do tipo declarado (no exemplo, vetor de String); Não há limite para o número de parâmetros; Também aceita zero parâmetros. Parâmetros variáveis teste.imprimir(false, "A", "B", "C", "D", "E"); teste.imprimir(true, "Um", "Dois"); teste.imprimir(false);

Múltiplos Comandos return Desde que eles não pertençam ao mesmo bloco Pode-se utilizar constantes para retornar valores, ao invés de atributos public String getNumberInWords(int num) { String defaultNum = "zero"; if (num == 1) { return "one"; } else if (num == 2) { return "two"; } return defaultNum; }

Chamando Métodos Estáticos Métodos que podem ser invocados sem que um objeto tenha sido instanciado pela classe (sem invocar a palavra chave new)‏ Pertencem à classe como um todo e não a uma instância (ou objeto) específica da classe São diferenciados dos métodos de instância pela declaração da palavra chave static na definição do método NomeClasse.nomeMetodoEstatico(argumentos);

Chamando Métodos Estáticos int i = Integer.parseInt("10"); String hexEquivalent = Integer.toHexString(i); System.out.println(hexEquivalent);

Exercícios 1. Procure pelo método que verifica se uma String termina com um determinado sufixo. Por exemplo, se a String dada é "Hello", o método deve retornar true se o sufixo informado é "lo", e false se o sufixo for "alp". 2. Procure pelo método que determina a representação do caractere para um dígito e base específicos. Por exemplo, se o dígito informado é 15 e a base é 16, o método retornará o caractere 'F', uma vez que 'F' é a representação hexadecimal para o número 15 em base 10. Dica: Todos os métodos estão no package java.lang.

Exercícios 1. Procure por um método que retorna a parte inteira de um valor double. Por exemplo, se a entrada for 3.13, o método deve retornar o valor Procure por um método que determina se um certo caractere é um dígito. Por exemplo, se a entrada for '3', retornará o valor true. 3. Procure por um método que interrompe a execução da Java Virtual Machine corrente. Dica: Todos os métodos estão no package java.lang.