Aula 02 - Principios da Orientação a Objetos (POO)

895 visualizações

Publicada em

Aula a respeito dos princípios da Programação Orientada a Objetos, uma introdução.
Os exercícios estão nos slides 34, 35 e 36.

Publicada em: Software
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
895
No SlideShare
0
A partir de incorporações
0
Número de incorporações
385
Ações
Compartilhamentos
0
Downloads
24
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 02 - Principios da Orientação a Objetos (POO)

  1. 1. Metodologia e Linguagem de Programação Prof. Daniel Brandão
  2. 2.  Orientação a Objetos:  Paradigma que procura compor modelos de forma mais próxima às interações existentes no mundo real, cujas primeiras propostas datam da década de 60;  A POO define que objetos se comunicam através da troca de mensagens para promover a troca de serviços; Revisão Java OO
  3. 3. Conceito de Objetos  O que seria um objeto?  Uma entidade capaz de reter um estado através de propriedades(atributos) e que oferece uma série de operações (comportamentos/métodos) para visualizar ou modificar seu estado. Métodos seriam o mesmo que funções e procedimentos. Princípios da Orientação à Objetos 3
  4. 4. Conceito de Objetos  De maneira objetiva, um objeto deve possuir:  Um estado (atributos)  Um comportamento (métodos)  Interface (assinaturas dos métodos)  Uma identidade (Ljava.lang.String;@13aaa14a) Princípios da Orientação à Objetos 4
  5. 5.  Analogia:  Problema: Guiar um carro.  Mas antes disso, o que precisa?  Alguém tem que projetar...  Desenhos de engenharia elaboram o projeto Revisão Java OO
  6. 6.  Analogia:  Problema: Guiar um carro.  No Projeto temos:  Pedais de acelerador, de freio...  ‘Ocultam’ os complexos mecanismos que realmente fazem o veículo funcionar; Revisão Java OO
  7. 7.  Problema: Guiar um carro.  Podemos guiar um carro que está ainda no projeto?  Não... Infelizmente não podemos guiar os desenhos de engenharia de um carro! Revisão Java OO
  8. 8.  Problema: Guiar um carro.  Antes de guiar, ele deve ser construído a partir dos desenhos de engenharia que o descrevem: Revisão Java OO
  9. 9.  Problema: Guiar um carro.  Ok, o carro está pronto... Mas ele consegue acelerar sozinho?  Não... O motorista tem que pressionar o pedal do acelerador! Revisão Java OO
  10. 10.  Analogia:  Para executar tarefa (rotinas) em um programa é necessário um método;  O método descreve os mecanismos que realmente realizam suas tarefas;  Ocultando de seu usuário as tarefas complexas que este realiza...  Assim como...  Os pedais do nosso carro! Revisão Java OO
  11. 11.  Em Java:  Primeiro criamos uma unidade de programa chamada classe para abrigar esses tais métodos;  Você pode fornecer um ou mais métodos que são projetados para realizar as tarefas da classe;  Por Exemplo....  Uma classe Conta pode abrigar os métodos (tarefas) depositar, debitar, perguntar o saldo atual... Revisão Java OO
  12. 12.  Em Java:  Assim como não podemos dirigir um projeto de um carro, não podemos executar métodos de uma classe;  Assim como alguém tem que construir esse carro a partir do seu projeto, você deve construir um objeto de uma classe antes de fazer um programa realizar as tarefas que a classe descreve como fazer; Revisão Java OO
  13. 13.  Analogia:  Além das capacidades do carro, ele também possui características...  Cor, modelo, quantidade de portas...  Essas capacidades também são descritas no projeto de engenharia do carro...  Cada carro mantém seus próprios atributos. Revisão Java OO
  14. 14.  Em Java:  Um objeto tem atributos que são portados consigo quando este é utilizado em um programa;  Por Exemplo:  Uma classe conta possui:  Número, Saldo, Tipo...  Esses atributos são especificados pelas chamadas variáveis de instância. Revisão Java OO
  15. 15. Conceito de Objetos  Um exemplo, um celular:  Identificação  Número: (83)9999-9999  Outras propriedades  Largura: 58,6 mm  Altura: 115,2 mm  Cor: Branco  Comportamento  Ligar  Desligar  Efetuar chamadas Princípios da Orientação à Objetos 15 Fonte: http://store.apple.com/
  16. 16. Conceito de Objetos  Porém um objeto sozinho não representa um sistema;  Um sistema é representado por vários objetos distintos ativos, que podem ser chamados de instância;  E a comunicação entre esses objetos ocorre através de mensagens, e o envio de cada mensagem significa executar um método; Princípios da Orientação à Objetos 16
  17. 17. Objeto Conta Bancária Princípios da Orientação à Objetos 17 O estado atual da conta Comportamento: operações que uma conta pode executar creditar debitar número saldo “123-x” 54,78
  18. 18. Estado do Objeto Conta Princípios da Orientação à Objetos 18 creditar debitar número saldo “123-x” 54,78 creditar debitar número saldo “123-x” 74,78 creditar (20) Comportamento mudou o estado do objeto conta bancária
  19. 19. Conceito de Classes  Voltando para o exemplo do carro, existem vários carros de vários modelos. Um objeto Pajero é um instância da classe Carro;  Carros de modelos diferentes possuem características e comportamentos diferentes;  Logo, pode-se concluir que uma classe é uma espécie de modelo (protótipo) que agrupa as características e os comportamentos em comum aos objetos do mesmo tipo; Princípios da Orientação à Objetos 19
  20. 20. Conceito de Classes  É na classe que definimos as variáveis e os métodos que serão utilizados e os objetos são criados (instanciados) a partir das classes;  Cada objeto possui seu espaço de memória individual, assim como suas variáveis;  Tais variáveis são denominadas de variáveis de instâncias (atributos); Princípios da Orientação à Objetos 20
  21. 21. Classe x Objeto 21 creditar debitar número saldo “123-x” 54,78 creditar debitar número saldo “123-x” 54,78 creditar debitar número saldo “123-x” 54,78 Conta Múltiplos objetos criados a partir da mesma classe
  22. 22. Benefícios da O.O.  Acelerar o tempo de desenvolvimento;  Reduzir o tempo de manutenção;  Mais fácil de entender e adaptar;  Código de melhor qualidade; Princípios da Orientação à Objetos 22
  23. 23. Classe ≠ Objeto Princípios da Orientação à Objetos 23 Lembrem-se!
  24. 24. Lâmpada - EstadoDaLampada + acende() + apaga () + mostrarEstado () Princípios da Orientação à Objetos 24 Atributo Métodos
  25. 25.  Toda e qualquer classe criada herda da classe “Object”, ou seja, define e implementa um objeto;  Chamamos de Herança! Revisão Java OO
  26. 26. E em java?  Classe Lâmpada: Princípios da Orientação à Objetos 31 Palavra reservada class seguida do nome da classe Parâmetro, conjunto de caracter A declaração de método possui respectivamente: O modificador de acesso •O tipo de retorno •Nome do método •Lista de parâmetros para recebimento (tipo, nome)
  27. 27. E em java?  Instanciando Objetos 32 Para instanciar um objeto, é necessário informar a Classe a que este pertence, designar um nome para ele, e utilizar a palavra reservada new antes da chamada do método construtor – responsável por iniciar os parâmetros (características) do novo objeto. Para acessar, ou realizar uma chamada, de um método ou parâmetro é utilizado o ponto (.) seguido do nome do método
  28. 28.  A classe é a entidade responsável por definir os atributos (características) e os métodos (serviços) que serão oferecidos. Revisão Java OO Nome da Classe Atributos Métodos
  29. 29. Como executar aplicações  Uma classe pode definir um método “main”;  É o método responsável pela execução da aplicação;  Uma aplicação pode conter vários métodos “main” (um em cada classe), mas apenas um desses será definido como o método da aplicação;
  30. 30. Assinatura de main  Ponto de início de toda aplicação Java. public static void main(String [ ] args){ }
  31. 31. Exemplo do HelloWorld
  32. 32. Como criar e acessar objetos?  Para criar, use o operador new  Para acessar atributos e métodos, utilize o “.” (ponto)  Exemplo
  33. 33. Exercício 1  Crie um projeto no eclipse denominado FabricaCelular  Crie a classe Celular e defina os atributos e métodos vistos no slide anterior.
  34. 34. Exercício 1  No projeto FabricaCelular crie uma classe chamada Programa.  Nesta classe, crie um método main.  Dentro do main, crie uma instância de sua classe Celular  Acesse e imprima seus atributos no console
  35. 35. Exercício 2  Crie uma classe Conta  atributos (numero e saldo);  métodos (creditar, debitar, getSaldo, getNumero);  Cria uma classe Programa para usar a Conta  Envio da atividade para: professordanielbrandao@gmail.com Orientação à Objetos 40
  36. 36. Relacionamentos entre objetos  A POO define que podemos montar objetos a partir de objetos  Essa união acontece de duas formas:  Agregação Relacionamento fraco  Composição Relacionamento forte  Herança
  37. 37. Relacionamentos entre objetos  Agregação e Composição são conhecidos como relacionamentos TEM UM  Herança é um tipo de relacionamento É UM
  38. 38. Relacionamentos TEM UM  Agregação  Um objeto “ O1 ” é definido pela agregação de alguns outros objetos;  Se o objeto “O1” for destruído, os objetos nele contidos ainda serão válidos;  Ou seja, existe uma dependência “fraca” entre o objeto “O1” e seus objetos contidos.
  39. 39. Relacionamento TEM UM Exemplo de Agregação
  40. 40. Relacionamentos TEM UM  Composição  Um objeto “O1” é definido pela composição de alguns outros objetos;  Se o objeto “O1” for destruído, todos os objetos nele contidos serão também destruídos;  Ou seja, existe uma dependência “forte” entre o objeto “O1” e seus objetos contidos.
  41. 41. Relacionamento TEM UM Exemplo de composição
  42. 42. Lâmpada - EstadoDaLampada + acende() + apaga () + mostrarEstado () 47 Atributo Métodos Orientação à Objetos
  43. 43. Seção Mundo Java  Especializada em Java;  Revista de maior circulação nacional sobre o tema;  Edição 135;  Java 8;  Primeiros passos...;  http://www.devmedia.com. br/revistas/ 48
  44. 44. Bibliografia  Caelum. Apostila do curso Java e Orientação a Objetos. Disponível em: http://www.caelum.com.br/apostilas/  Kathy Sierra e Bert Bates. Java Use a Cabeça. 2º Edição. AltaBooks – Rio de Janeiro, 2007.  Prof. Sérgio Soares. Orientação a Objetos e Java. Disponível em: <http://www.cin.ufpe.br/~if101/especializacao/Java2.html>  Prof. Jacques Sauvé. Orientação a Objetos. Disponível em: <http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/p2- 2.htm> Princípios da Orientação à Objetos 51

×