Java aula 2

396 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
396
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Java aula 2

  1. 1. Orientação a Objetos utilizando a linguagem Java AULA 2Ministrado por Endel Guimarães Silva, Pedro Ferraz, Wagner Takeshi Obara e Yuri Pádua
  2. 2. Resumo da aula Os tópicos cobertos por essa aula são Por que orientação a objetos? Classes, objetos e diferenças entre eles Métodos e atributos de uma classe Pensando de forma Orientada a Objetos Construtores Instâncias de uma classe
  3. 3. Por que Orientação a objetos? Necessidade Com o aumento da complexidade dos softwares desenvolvidos, foi preciso pensar em alguma forma de facilitar o processo de desenvolvimento e manutenção, de forma que a leitura e escrita do código se desse de uma forma mais natural. Além disso, era necessário ampliar as capacidades de reúso de peças de software pois desenvolvimento de código do zero (build from scratch) é muito caro.
  4. 4. Por que Orientação a objetos? Vantagens Com isso o código ficou mais flexível quanto a mudanças: é mais fácil acrescentar e modificar funcionalidades e o impacto dessas mudanças é bastante reduzido. Desvantagens Além disso, era necessário ampliar as capacidades de reúso de peças de software pois desenvolvimento de código a partir do zero (build from scratch) é muito caro.
  5. 5. Classes e objetos Def: uma classe é um modelo abstrato e genérico para objetos que compartilham o mesmo comportamento (mesmo conjunto de características e executam as mesmas ações) Ex: um aluno que está na quarta série faz as mesmas matérias que qualquer outro aluno da quarta série. Ex2: todos os operários de um mesmo setor numa linha de produção de uma fábrica têm as mesmas competências e têm as mesmas funções. Pode-se dizer que eles estão na mesma classe.
  6. 6. Classes e objetos Def: Um objeto ou instância é um representante particular de uma classe Ex: Joãozinho é um aluno da quarta série. Joãozinho é um representante da classe dos alunos da quarta série. Ex2: Zé e Chico são funcionários do setor de embalagem em uma linha de produção. Ambos são representantes da classe dos funcionários desse setor.
  7. 7. Classes e objetos Simplificando as definições Uma classe é semelhante à planta de uma casa. Não podemos entrar em uma planta. Uma instância é equivalente à casa pronta: além de termos várias casas diferentes, ter a casa pronta é o único jeito de entrar nela, abrir suas janelas, pintar suas portas, etc.
  8. 8. Atributos e métodos de uma classe Def: atributos são características de um objeto e refletem seu estado em um dado momento Ex: Nome, cor dos olhos, cor do cabelo, altura, etc. são características de uma pessoa Ex2: Altura em metros, número de andares, número de salas, etc. são características de um prédio
  9. 9. Atributos e métodos de uma classe Def: métodos são ações que podem ser executadas por um objeto e definem como ocorrerá a troca de mensagens entre eles. Ex: andar, correr, falar, etc. são ações feitas por uma pessoa Ex2: acender as luzes, apagar as luzes, acionar sistema de incêndio, etc são ações que acontecem dentro de um prédio Com esse segundo exemplo, é possível ver que, não necessariamente um objeto precisa ser capaz de agir por si só. Métodos também regulam como o resto do mundo pode interagir com esse objeto.
  10. 10. Pensando de forma OO Como dito anteriormente, isso requer uma habilidade extra do programador em identificar semelhanças e generalizações das entidades de um programa. Isso requer, além de um alto grau de abstração, bom senso. Não fuja do escopo do problema! Às vezes, uma entidade pode ser irrelevante ao sistema e não precisa fazer parte do seu programa. Prática é fundamental!
  11. 11. Exercício - Metrô "Você foi contratado pela CPTM para desenvolver um sistema controlador para o metrô de São Paulo. O seu controlador deve fazer os trens andarem e pararem de acordo com as estações. Ao parar em alguma estação, a porta deve abrir durante um período de tempo (nesse exemplo, controlado pelo usuário) e fechar. Em seguida, os trens partem para a próxima estação e é reproduzida uma mensagem que diz o nome dessa estação, em cada vagão." Encontre as classes relevantes ao sistema, bem como seus atributos e métodos. Não precisa se prender aos dados fornecidos no enunciado.
  12. 12. Instanciando uma Classe Até agora, você aprendeu a identificar classes, bem como seus atributos e métodos para um dado problema. E agora? Para fazer a casa sair do papel, utilizamos um método construtor Este método deve conter a inicialização dos atributos, para ‘construir’ o objetoSintaxe:public <NomeDaClasse>([arg1,…,argn]){ …}
  13. 13. Instanciando uma Classe Quando precisamos criar uma instância dessa classe, escrevemos<NomeDaClasse> meuObj = new <NomeDaClasse>([args…]);Por ex:// 10 poderia ser o numero de vagoes do metroMetro m = new Metro(10);// posso inicializar sem parametro nenhumCasa c = new Casa();
  14. 14. Mais um pouco de sintaxe A estrutura de uma classe é normalmente assim:package meuPacote;public class MinhaClasse{ // declaracao dos atributos protected String atributo1; protected int atributo2; … // construtor public MinhaClasse(){ … } // outros metodos public int meuMetodo1(String arg1, int arg2…){ … }}
  15. 15. Exercício - Metrô "Você foi contratado pela CPTM para desenvolver um sistema controlador para o metrô de São Paulo. O seu controlador deve fazer os trens andarem e pararem de acordo com as estações. Ao parar em alguma estação, a porta deve abrir durante um período de tempo (nesse exemplo, controlado pelo usuário) e fechar. Em seguida, os trens partem para a próxima estação e é reproduzida uma mensagem que diz o nome dessa estação, em cada vagão." Com base nas classes que você encontrou anteriormente, crie a estrutura dessas classes em Java. Não precisa ter funcionalidade nenhuma, basta criar o esqueleto da classe. Depois, compare com a estrutura do programa fornecido em aula.
  16. 16. Exercício - Burger King "Você foi contratado pelo Burger King para desenvolver um sistema que gerencie os pedidos no balcão. O cliente escolhe um lanche, uma bebida e uma sobremesa. Ao final, o sistema calcula o valor do pedido, imprime o pedido na tela e emite uma senha numérica." O foco deste exercício é na implementação. Você receberá um programa parcialmente implementado e terá que desenvolver o restante das funcionalidades. Use os arquivos contidos em BurgerKing.zip para começar a desenvolver.
  17. 17. Exercício - Celular "Você deve fazer um programa que simule a interação entre celulares. Seu programa deve apenas fazer e encerrar uma chamada (troca de mensagens). Não é permitido que um celular faça ou receba mais de uma ligação ao mesmo tempo." O foco deste exercício é na implementação. Você receberá um programa parcialmente implementado e terá que desenvolver o restante das funcionalidades. Use os arquivos contidos em Celular.zip para começar a desenvolver.

×