Escolar Documentos
Profissional Documentos
Cultura Documentos
Programao II
Departamento de Sistemas de Informao / Itabaiana
Pgina inicial do grupo: http://groups.google.com.br/group/ufs-dsi-progii Endereo de e-mail do grupo: ufs-dsi-progii@googlegroups.com Pgina do Professor: https://sites.google.com/site/ufsprofalcidesbenicasa
Roteiro
Estrutura de uma classe bsica b Campos Construtores Mltiplos Construtores (Sobrecarga de Construtores) Mtodos Escopo, Tempo de Vida e Visibilidade Variveis Locais Vari Parmetros Campos Modificadores de Acesso public private static final Exemplo
UFS Programao II Prof Alcides Xavier Benicasa
2 32
4 32
Campos
Campos armazenam valores para um objeto. Eles tambm so tamb conhecidos como variveis de vari instncias. Campos definem o estado de um objeto.
}
Modificador de Visibilidade Tipo Nome da varivel
5 32
Construtores
Funo
Colocar cada objeto da classe, quando ele est est sendo criado, em um estado previamente definido para ser utilizado. Inicializao. Inicializa
public class Lampada { private String estado; private int nVidaUtil; public Lampada() { estado = "desligada"; } public Lampada(String NovoEstado) { estado = NovoEstado; }
//mtodos omitidos
6 32
Construtores
Construtores inicializam um objeto.
Introduo Programao Orientada a Objetos
public class Lampada { private String estado; private int nVidaUtil; public Lampada() { estado = "desligada"; } public Lampada(String NovoEstado) { estado = NovoEstado; }
//mtodos omitidos
Eles tm o mesmo nome das suas classes. Eles armazenam valores iniciais nos campos. Eles freqentemente freq recebem valores de parmetros externos nesses campos.
}
7 32
8 32
Mltiplos Construtores
Sobrecarga
Uma classe pode conter mais de um construtor ou mais de um mtodo do mesmo nome, contando que cada um tenha um nome, conjunto distinto de tipos de parmetros. ... public Lampada() { estado = "desligada"; } public Lampada(String NovoEstado) { estado = NovoEstado; }
UFS Programao II Prof Alcides Xavier Benicasa
9 32
10 32
Mtodos de Acesso
Modificador de Visibilidade Nome do Mtodo Lista de Parmetros (vazia)
Tipo de Retorno
11 32
Mtodos Modificadores
Modificador de Visibilidade Tipo de Retorno (void) Nome do Mtodo Parmetro(s)
12 32
Mtodos
Nome do Mtodo M um Identificador vlido da linguagem; v Parmetros lista de argumentos que sero passados como parmetros para o mtodo. A sintaxe dos argumentos a de declarao de variveis; declara vari Tipo de Retorno indica o tipo do valor retornado pelo mtodo; m return palavra reservada que indica o valor que ser devolvido para o ser programa; Modificadores elementos que caracterizam o mtodo quanto visibilidade m (escopo)
UFS Programao II Prof Alcides Xavier Benicasa
13 32
Variveis Locais
Varivel declarada e utilizada dentro de um nico Vari mtodo. Seu tempo de vida est limitado ao mtodo. est m
15 32
Variveis Locais
Definidas dentro do corpo de um construtor ou mtodo. m Podem ser inicializadas e utilizadas somente dentro do corpo de seu construtor ou mtodo definidor. m Devem ser inicializadas antes de serem utilizadas em um expresso elas no recebem um valor-padro. valorTm escopo que limitado no bloco em que elas so definidas. No so acessveis em nenhum lugar fora acess desse bloco.
UFS Programao II Prof Alcides Xavier Benicasa
16 32
Parmetros
Persistem somente durante o perodo em que um per construtor ou mtodo executa. m Atuam como posies temporrias, em vez de posi tempor permanentes, da memria. mem
17 32
Parmetros
So definidos no cabealho de um construtor ou cabe mtodo. Recebem seus valores fora, sendo inicializados pelos valores reais de parmetros. Escopo limitado a seu construtor ou ao seu mtodo m definidor. public void setEstado(String nEstado){ estado = nEstado; }
18 32
Campos
So definidos fora dos construtores e mtodos. m Utilizados para armazenar dados que persistem por toda a vida de um objeto.
19 32
Campos
Tm escopo de classe: sua acessibilidade se estende por toda a classe e podem ser utilizadas em quaisquer dos construtores ou mtodos da classe em que eles m esto definidos. Enquando forem definidos como private, no podem private, ser acessados de fora de sua classe definidora.
public class Lampada { private String estado; private int nVidaUtil;
//construtor e mtodos omitidos
}
20 32
UFS Programao II Prof Alcides Xavier Benicasa
10
Modificadores de Acesso
public
Campo ou mtodo da classe declarado com este modificador poder ser acessado ou executado a partir de qualquer outra classe. Campos e mtodos que devam ser acessados (e modificados, no caso de campos) devem ser declarados com o modificador public.
22 32
11
Modificadores de Acesso
private
Campos e mtodos declarados com o modificador private s podem ser acessados, modificados ou executados por mtodos da mesma classe, sendo completamente ocultos para o programador usurio que for usar instncias desta classe ou criar classes herdeiras. Campos ou mtodos que devam ser ocultos totalmente de usurios da classes devem ser declarados com este modificador.
23 32
Modificadores de Acesso
24 32
12
Modificadores de Acesso
final no pode ser sobrescrito. Equivale declarao de constante; static no necessita de objeto. Pode ser invocado a partir do nome da classe. Por exemplo: Integer.parseInt(<String>)
25 32
private String nome, identidade; private int idade; public String nacionalidade; final float peso = 80; static float altura; altura; public Pessoa(String nome, String id, String nac, int idade,float alt) idade,float alt) { this.nome = nome; this.nome identidade = id; nacionalidade = nac; this.idade = idade; this.idade altura = alt; alt; } public void MostraDados(){//...} MostraDados(){//...} }
UFS Programao II Prof Alcides Xavier Benicasa
26 32
13
27 32
Erro?
Exception in thread "main" java.lang.Error: Unresolved "main" java. lang. Error: compilation problem: The final field Pessoa.peso cannot problem: be assigned at Principal.main(Principal.java:5) Principal.main(Principal.java:5)
// p1.peso = 90;
Analisando a Sada
Nome : Maria Madalena Identidade: 23.654.232-1 Nacionalidade : Brasileira Idade : 26 Peso : 80.0 Altura: 1.7
UFS Programao II Prof Alcides Xavier Benicasa
28 32
Nome : Pedro Alvarez Identidade: 28.123.043-2 Nacionalidade : Portugues Idade : 32 Peso : 80.0 Altura: 1.7
14
Exerccios
Praticando...
Exerccio - Restaurante Caseiro Hipottico Hipot Considerando o modelo abaixo, desenvolva o programa orientado a objetos.
Dados, informaes relevantes
Introduo Programao Orientada a Objetos
Mesa 1 Kg refeio refei Sobremesa Refrig. 2lt. Refrig. Refrig. 600ml Refrig. Refrig. Lata Refrig. Cerveja Mesa 4 Kg refeio refei Sobremesa Refrig. 2lt. Refrig. Refrig. 600ml Refrig. Refrig. Lata Refrig. Cerveja Mesa 5 Kg refeio refei Sobremesa Refrig. 2lt. Refrig. Refrig. 600ml Refrig. Refrig. Lata Refrig. Cerveja Mesa 2 Kg refeio refei Sobremesa Refrig. 2lt. Refrig. Refrig. 600ml Refrig. Refrig. Lata Refrig. Cerveja Mesa 3 Kg refeio refei Sobremesa Refrig. 2lt. Refrig. Refrig. 600ml Refrig. Refrig. Lata Refrig. Cerveja
Mesa 6 Kg refeio refei Sobremesa Refrig. 2lt. Refrig. Refrig. 600ml Refrig. Refrig. Lata Refrig. Cerveja
30 32
Operaes ou procedimentos
UFS Programao II Prof Alcides Xavier Benicasa
15
Bibliografia Bsica
31 32
Bibliografia Complementar
BARNES, D.J.; KLLING, M. Programao orientada a objetos com Java: Uma Introduo Prtica Utilizando o Blue J. So Paulo: Editora Pearson, 2004. SANTOS, Rafael. Introduo Programao Orientada a Objetos usando Java. Rio de Janeiro: Elsevier, 2003.
32 32
16