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

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

Introdução a Java: Classes, métodos e variáveis Eduardo Figueiredo 24 de Março de 2010 POOAula 05.

Apresentações semelhantes


Apresentação em tema: "Introdução a Java: Classes, métodos e variáveis Eduardo Figueiredo 24 de Março de 2010 POOAula 05."— Transcrição da apresentação:

1 Introdução a Java: Classes, métodos e variáveis Eduardo Figueiredo 24 de Março de 2010 POOAula 05

2 Exercício UML Favor me entregar os exercício até o final desta aula Modelar Primeirão em UML usando diagrama de classes

3 Avaliação Duas provas: 35 pts cada Prova 1 (P1): 06/Maio Prova 2 (P2): 08/Julho Dois trabalhos: 15 pts cada Trabalho 1 (T1): Abril Trabalho 2 (T2): Junho

4 Avaliação Duas provas: 35 pts cada Prova 1 (P1): 06/Maio Prova 2 (P2): 08/Julho Dois trabalhos: 15 pts cada Trabalho 1 (T1): Abril Trabalho 2 (T2): Junho Exercícios serão contados como pontos extras

5 Livro Texto: 6ª x 8ª edição ConteúdoPáginas (6ª)Páginas (8ª) Antes de ComeçarXXXIII a XLXXII a XXIX Seções 1.6 a a 7 Seção a 1715 a 17 Seções 3.1 a a 6857 a 67 Aula 2 Aula 5

6 Aulas em Laboratório Reservado laboratório IV (Bloco 1B) para a aula de amanhã Proposta Aulas teóricas às quartas Aulas práticas às quintas

7 Aula de Hoje

8 Tópicos da Aula Conceitos de POO em Java Elementos principais de um objeto Método Atributos (ou variáveis) Transformando um projeto UML em um programa Java

9 Visão Geral Um programa OO é geralmente constituído de várias classes Cada classe possui vários métodos (comportamento) Classes também possuem variáveis (atributos) Classes trocam mensagens entre si Chamada de métodos

10 Analogia: Carro Funcionalidades Andar mais rápido: acelerador Andar mais devagar: freio Atributos Cor, número de portas, capacidade do tanque,... Quantidade atual de combustível, velocidade atual,...

11 Do Projeto para o Produto Antes do carro ficar pronto, ele deve ser projetado ProjetoProduto

12 Ocultando os Detalhes Os pedais freio e acelerador ocultam do motorista os reais mecanismos que fazem o carro andar mais rápido ou mais devagar Pessoas com pouco ou nenhum conhecimento de mecânica / hidráulica podem dirigir um carro

13 Envio de Mensagens Acelerar O pedal acelerador envia uma mensagem para o carro aumentar a velocidade Frear O pedal de freio envia uma mensagem para o carro diminuir a velocidade

14 Conhecendo a Si Próprio Um carro sabe a sua velocidade atual Mas, não sabe a velocidade de outros carros Minha velocidade atual é 60 Km/h

15 Implementando um Projeto Assim como em outras engenharias, o projeto não é suficiente Ninguém pode dirigir o desenho de um carro Ninguém pode executar o projeto de um sistema

16 Do Projeto para Implementação Antes do carro ficar pronto, ele deve ser projetado Lembra do nosso trabalhinho UML? Carro cor velocidadeAtual acelerar() frear() class Carro { String cor; int velocidadeAtual; void acelerar() {} void frear() {} } ProjetoImplementação

17 Classe Pública em Java Declaração de uma classe pública (public) deve ser feita em um arquivo de mesmo nome Mais a extensão.java public class Carro { String cor; int velocidadeAtual; void acelerar() {} void frear() {} } Arquivo Carro.java Modificador public permite acesso / chamadas de qualquer outra classe do programa

18 Corpo de Classes e Métodos O corpo de uma classe é delimitado por chaves { } public class Carro { String cor; int velocidadeAtual; void acelerar() {...} void frear() {...} } O corpo de um método também é delimitado por chaves { }

19 Convenção de Nomes Nome de classes Substantivo Iniciar com letra maiúscula CamelCase (MeuCarro) public class Carro { String cor; int velocidadeAtual; void acelerar() {...} void frear() {...} } Nome de métodos Verbo Iniciar com minúsculo camelCase (acelerarCarro)

20 Assinatura de Métodos Modificador + Tipo de Retorno + Nome do Método + Lista de Parâmetros Modificador: public | private | protected |... Tipo de Retorno: void | int | String |... public class Carro { private String cor; private int velocidadeAtual; public void acelerar() {} public void frear() {} } Nome: acelerar | frear |... Parâmetros: delimitado por parênteses

21 Implementando Métodos public class Carro { String cor; int velocidadeAtual = 0; public void acelerar() { velocidadeAtual = velocidadeAtual + 1; } public void frear() { velocidadeAtual = velocidadeAtual - 1; }

22 Executar a classe Carro... Um programa Java começa pelo método main public class Carro { String cor; int velocidadeAtual = 0; public void acelerar() { velocidadeAtual = velocidadeAtual + 1; } public void frear() { velocidadeAtual = velocidadeAtual - 1; } Exception in thread main...

23 O Método Main É uma boa prática colocar o método main em uma classe separada public class Teste { public static void main(String[] args) {... }

24 O Método Main O método main é automaticamente chamado pela máquina virtual Java public class Teste { public static void main(String[] args) {... }

25 Implementando Métodos public class Carro { String cor; int velocidadeAtual = 0; public void acelerar() { velocidadeAtual = velocidadeAtual + 1; } public void frear() { velocidadeAtual = velocidadeAtual - 1; } public String mostrarVelocidade() { System.out.println(Minha velocidade é + velocidadeAtual); }

26 Testar a Classe Carro public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.mostrarVelocidade(); }

27 Compilando o Programa Compilar public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.mostrarVelocidade(); } javac Carro.java Teste.java ou javac *.java

28 Executando o Programa Executar public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.mostrarVelocidade(); } java Teste

29 Resultado do Teste public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.mostrarVelocidade(); } Minha velocidade é 0

30 Acelerando o Carro public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.mostrarVelocidade(); meuCarro.acelerar(); meuCarro.mostrarVelocidade(); }

31 Compilar e Executar public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.mostrarVelocidade(); meuCarro.acelerar(); meuCarro.mostrarVelocidade(); } Compilar Executar

32 Resultado do Teste public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.mostrarVelocidade(); meuCarro.acelerar(); meuCarro.mostrarVelocidade(); } Minha velocidade é 0 Minha velocidade é 1

33 Parâmetros e Instâncias

34 Voltando a Classe Carro public class Carro { String cor; int velocidadeAtual = 0; public void acelerar() { velocidadeAtual = velocidadeAtual + 1; } public void frear() { velocidadeAtual = velocidadeAtual - 1; } public String mostrarVelocidade() { System.out.println(Minha velocidade é + velocidadeAtual); }

35 Métodos para Cor public class Carro { String cor; int velocidadeAtual = 0; public void acelerar() {...} public void frear() {...} public String mostrarVelocidade() {...} public void definirCor(String novaCor) { cor = novaCor; } public String retornarCor() { return cor; }

36 Métodos para Cor public class Carro { String cor; int velocidadeAtual = 0; public void acelerar() {...} public void frear() {...} public String mostrarVelocidade() {...} public void definirCor(String novaCor) { cor = novaCor; } public String retornarCor() { return cor; } Método set Método get

37 Parâmetros de Métodos public class Carro { String cor; int velocidadeAtual = 0; public void acelerar() {...} public void frear() {...} public String mostrarVelocidade() {...} public void definirCor(String novaCor) { cor = novaCor; } public String retornarCor() { return cor; } Método com um parâmetro Método sem parâmetro

38 Ocultando Atributos public class Carro { private String cor; private int velocidadeAtual = 0; public void acelerar() {...} public void frear() {...} public String mostrarVelocidade() {...} public void definirCor(String novaCor) { cor = novaCor; } public String retornarCor() { return cor; } Atributos são geralmente privados (private)

39 O método definirCor Não retorna nada quando é chamado Tipo de retorno: void Recebe um parâmetro Parâmetro: String novaCor public void definirCor(String novaCor) { cor = novaCor; }

40 O Método retornarCor Retorna um objeto Tipo de retorno: String Não recebe nenhum parâmetro Parâmetro: vazio public String retornarCor() { return cor; }

41 Testando definirCor public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.definirCor(Vermelho); }

42 Passagem de Parâmetros public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.definirCor(Vermelho); } Passando um parâmetro (String) para o método definirCor

43 Criando Dois Carros public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.definirCor(Vermelho); Carro seuCarro = new Carro(); seuCarro.definirCor(Azul); } Instância meuCarro tem cor Vermelho Instância seuCarro tem cor Azul

44 Testando retornarCor public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.definirCor(Vermelho); Carro seuCarro = new Carro(); seuCarro.definirCor(Azul); System.out.println(Meu carro é + meuCarro.retornarCor()); System.out.println(Seu carro é + seuCarro.retornarCor()); } Cada instância da classe Carro (meuCarro e seuCarro) tem sua cor.

45 Compilando e Executando public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.definirCor(Vermelho); Carro seuCarro = new Carro(); seuCarro.definirCor(Azul); System.out.println(Meu carro é + meuCarro.retornarCor()); System.out.println(Seu carro é + seuCarro.retornarCor()); } Compilar Executar

46 Resultado do Teste public class Teste { public static void main(String[] args) { Carro meuCarro = new Carro(); meuCarro.definirCor(Vermelho); Carro seuCarro = new Carro(); seuCarro.definirCor(Azul); System.out.println(Meu carro é + meuCarro.retornarCor()); System.out.println(Seu carro é + seuCarro.retornarCor()); } Meu carro é Vermelho Seu carro é Azul

47 Referências DEITEL, H. M.; DEITEL P. J. Java: Como Programar, 6a. Edição. Pearson, BOOCH, G., RUMBAUGH, J., JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus, 2000.


Carregar ppt "Introdução a Java: Classes, métodos e variáveis Eduardo Figueiredo 24 de Março de 2010 POOAula 05."

Apresentações semelhantes


Anúncios Google