class

Propaganda
Introdução a classes e
objetos
Prof. Marcelo Roberto Zorzan
Aula de Hoje
n
n
n
n
Abstração de Dados
Classes e Objetos
Definição de Métodos
Métodos com parâmetro
Abstração de Dados
§
“Processo mental através do qual nos
concentramos nos aspectos relevantes de um
conjunto de objetos desconsiderando as suas
diferenças.”
§
O que vocês estão vendo aqui?
Abstração de Dados
§ E aqui?
Problema
Joãozinho ao chegar em casa depois de um dia cheio de
aulas na UFV pega Mariazinha fazendo contas em uma
calculadora de brinquedo. Joãozinho querendo entrar na
brincadeira propõe para Mariazinha desenvolver um
programa usando os conhecimentos adquiridos na
linguagem Java para que a calculadora dela ficasse mais
bonita! Para isso, ele desenvolveu uma aplicação que
executa além das operações de somar e subtrair, a
exibição do nome dela no início de cada cálculo.
Mariazinha que é muito curiosa logo quis testar a
aplicação que é capaz de somar as idades dos pais, além
de calcular a diferença de idade dela com Joãozinho.
Conceitos
§ Objeto
§ Representa uma entidade do mundo real
§ Classe
§ Representa um
características afins
conjunto
de
§ Atributos
§ São as características de um objeto
§ Métodos
§ Definem as habilidades dos objetos
objetos
com
Conceitos
§ Exemplo:
§ Classe: Humano
àAtributos: nome, cor do olho, altura, peso,
dataNasc
à Métodos: calcularIdade, definirGorduraCorporea
à Objetos: João, que tem olho azul, 1.70m, 80kg,
nasceu em 10/10/1972
Classe
public class <NomeDaClasse>
{
// Atributos ou variáveis de instância
// Métodos
}
§ Classe: unidade de programa que abriga atributos e métodos
§ Depois de construir a classe, deve ser construído o objeto de
uma classe
Classe
public class <NomeDaClasse>
{
// Atributos ou variáveis de instância
// Métodos
}
§ Nome de classe sempre começa com letra maiúscula.
§ A palavra class na definição da classe é sempre
minúscula.
Atributos e Métodos
§ Atributos ou variáveis de instância descrevem as
características de um objeto
§ Pessoa (nome, idade, sexo, altura, peso)
§ Conta Bancária (nome do correntista,
número da conta)
saldo,
§ Métodos descrevem o comportamento de um
objeto
§ Pessoa (andar, comer, dormir)
§ Conta Bancária (imprimir saldo, efetuar saque,
depositar dinheiro, visualizar extrato)
Classe e método
}
public class BoasVindas
{
public void exibeMensagem()
{
System.out.println(“Bem vindo!”);
}
§ public: acesso público
§ void: não haverá valor de retorno
§ exibeMensagem: nome do método
Classe e método
public class BoasVindasTeste
{
public static void main(String args[])
{
BoasVindas teste = new BoasVindas();
teste.exibeMensagem();
}
}
§ Obs.:
§ Método main controla a execução do aplicativo
§ Método static pode ser chamado sem primeiro criar
um objeto da classe em que o método é declarado
Classe e Objeto
§ Exemplos de criação de classes no Java
§ Classe BoasVindas : exibe uma mensagem de
boas vindas na tela
§ Classe BoasVindasTeste : é uma classe de
aplicativo que faz a chamada da classe BoasVindas
Obs.: cada classe que começa com a palavra public deve ser
armazenada em um arquivo que tenha o mesmo nome da
classe e termina com a extensão .java
Classe e Objeto
§ Você não pode chamar um método que pertença a
outra classe sem criar um objeto dessa classe
§ No exemplo anterior criamos o objeto teste
§ A palavra chave new cria um novo objeto da classe
especificada
Métodos da classe
§ Regras para métodos de uma classe
§ Métodos devem ser declarados dentro do corpo
da classe (a parte entre as chaves { e } ) e depois
dos atributos.
§ As regras de nomes de métodos são as mesmas
para variáveis.
§ Métodos não podem ser criados dentro de outros
métodos.
Métodos da classe
§ Declaração de métodos
<modif_acesso> <tipo> <identificador>(parâmetros){}
§ Todo método deve ter um tipo de retorno.
§ Caso o método não retorne nada, isto é, caso ele execute
uma operação sem retornar valores, o valor de retorno dele
deverá ser void.
§ Métodos que retornam valor diferente de void devem ter, em
seu corpo, a palavra-chave return seguida de uma constante ou
variável do tipo que foi declarado como sendo o tipo de retorno
do método.
Diagramas de Classe UML
§ Diagramas de classe UML:
§ Compartimento superior contém o nome da classe.
§ Compartimento intermediário contém atributos ou
variáveis de instância da classe.
§ Compartimento inferior contém operações ou métodos
da classe.
à Sinal de adição indica os métodos public.
Diagramas de Classe UML
§ Diagrama UML indicando que a classe BoasVindas
tem um método público chamado exibeMensagem
BoasVindas
nome da classe
atributos
+exibeMensagem()
métodos
Métodos com parâmetros
§ Parâmetros de método:
§ Informações adicionais
método.
passadas
para
um
§ Uma chamada de método fornece valores
(chamados argumentos) para cada um dos
parâmetros do método.
§ Ex: o método System.out.println(…) exige um
argumento que especifica quais dados enviar para
a janela de comando
Métodos com parâmetros
§ Exemplo
§ Codificação da classe BoasVindas com um
método exibeMensagem que exibe o nome do
curso com uma mensagem de boas vindas
§ O método
parâmetro
exibeMensagem
requer
um
Métodos com parâmetros
public class BoasVindas
{
public void exibeMensagem(String curso)
{
System.out.printf(“Bem vindo ao curso %s !”, curso);
}
}
Métodos com parâmetros
public class BoasVindasTeste
{
public static void main(String args[])
{
BoasVindas teste = new BoasVindas();
teste.exibeMensagem(“Comp. Orient. Objetos”);
}
}
Métodos com parâmetros
§ Para fazer a leitura do nome do curso fornecida pelo
usuário, os seguintes comandos devem ser usados:
§ import java.util.Scanner;
§ Scanner entrada = new Scanner(System.in);
§ String nomecurso = entrada.nextLine();
§ teste.exibeMensagem(nomecurso);
Métodos com parâmetros
§ Os parâmetros de um método são colocados dentro
dos parênteses que seguem o nome do método
§ A lista de parâmetros pode conter qualquer número
de parâmetros, inclusive nenhum (use parênteses
vazio)
§ Todo parâmetro deve especificar um tipo e um
identificador
§ Ex: String à tipo
curso à Identificador
Métodos com parâmetros
§ O nome da variável de parâmetro pode ser o mesmo
nome (ou um nome diferente) da variável de argumento
§ Os parâmetros são separados por vírgula
§ O número de argumentos deve corresponder ao número
de parâmetros na declaração do método
§ Os tipos de argumento devem ser consistentes com os
tipos dos parâmetros na declaração do método
Declaração import
§ A declaração import indica ao compilador que o
programa utiliza uma determinada classe
à Ex: import java.util.Scanner;
§ As classes System e String não precisam ser
importadas pois estão no pacote java.lang que é
implicitamente importado em todo programa Java
§As classes que estão no mesmo pacote são
importadas implicitamente
Variáveis locais
§ As variáveis declaradas no corpo de um método são
conhecidas como variáveis locais e só podem ser
usadas nesse método
public class Principal
{
public static void main(String args[])
{
String nome = “Paula”;
System.out.println(“Nome: ” + nome);
}
}
Variáveis - Atributos
§ Um objeto tem atributos que são portados com o
objeto quando ele é utilizado
- Eles existem antes de um método ser chamado e depois
do método completar sua execução
§ Os atributos são representados como variáveis em
uma declaração de classe
– São declaradas dentro da classe mas fora dos corpos
dos métodos da classe
§ Uma classe consiste em um ou mais métodos que
manipulam os atributos que pertencem a um objeto
Um novo Problema!!!
Mariazinha pediu para Joãozinho otimizar a sua
aplicação, fazendo com que ela fosse capaz de exibir o
nome de qualquer pessoa antes de cada operação.
Dessa forma, ela seria capaz de mostrar para os seus
pais o resultado de uma conta personalizada, fazendo
com que seus pais ficassem muito orgulhosos deles!!!
Atributos
• Formato:
<tipo> <nomeDaVariável>
• Tipos primitivos em java
- inteiros (byte, short, int, long)
- ponto flutuante (double, float)
- booleano (boolean)
- caractere (char)
• String:
- A classe String é usada para representar cadeias de
caracteres (strings)
- String não é um tipo de dado primitivo.
Variáveis - Atributos
public class BoasVindas
{
private String curso;
public void setCurso(String nomec){
curso = nomec;
}
public String getCurso(){
return curso;
}
public void exibeMensagem(){
System.out.prinf(“Bem vindo ao curso %s!”, curso);
}
}
Tipos Primitivos x Tipos
por Referência
§ Tipos primitivos: boolean, byte, char, short, int, long,
float e double
à As variáveis do tipo byte, char, short, int, long
e float são inicializadas com 0
à As variáveis do tipo boolean são inicializadas com
false
§ Tipos por referência: referenciam objetos no
programa
à As variáveis de tipo por referência são
inicializadas com null
Próxima Aula...
• Introdução a classes e objetos (cont.)
Download