ANÁLISE E PROJETO DE
SISTEMAS ORIENTADO A
OBJETOS – PARTE 2
Prof. MSc. Iury Teixeira
Faculdade de Juazeiro do Norte
Especi...
Roteiro
•  Conceitos de OO
•  Primitivos, Referências
•  Classes, atributos e métodos
•  Construtores
•  Sobrecarga
•  Her...
Objetivo
Implementar sistemas baseando-se no
projeto arquitetural e lógico,
com foco em aplicativos móveis.
Por que Orientação a Objetos
Representar conceitos do mundo real em
sistemas computacionais
Permite troca de informações e...
O Que temos no nosso mundo??
O Que temos no nosso mundo??
O Que a criança faz?
Anda Brinca Pula Grita
Ações executadas por esses indivíduos…
Resumindo…
Atributos: braços, cor do cabelo,
nome, rg, cpf, idade, sexo
Métodos: andar, correr, chorar, gritar,
cantar
E onde fica a classe? Que parada é essa?
Classe é isso!
Objetos
Classe
•  Uma classe representa um modelo para a construção de
objetos.
•  Uma classe é um tipo de dado.
Resumindo…
•  Objeto: instância de uma classe
•  Classe: tipo de dado que representa a estrutura de um
objeto real ou abst...
Benefícios da O.O.
Promove a reutilização de código.
Flexibilização da aplicação.
Concentrar esforços no ponto do problema...
Primitivos
Primitivos
•  São tipos de dados
Primitivo x Referência
• Referencias vs Dados Primitivos
•  Uma referência é diferente de um tipo primitivo pelo fato de não
ser capaz de armazen...
String – Estudo de Código
Um pouco mais…
Um pouco mais…
Quiz
( ) Um objeto representa a estrutura em memória de um dado.
( ) O método construtot é utilizado para criar um objeto....
Preparar para Mão no código J
•  Calcular área do triângulo
•  A sintaxe (em Java) geral para declarar uma classe é:
<mod...
O Que seria atributo e o que seria
método nesse cenário?
Quem é o objeto?
Será preciso criar uma classe?
Triangulo
base , altura e area à atributos
Como efetuar o calculo?
calcularArea à método
Testando
Encapsulamento
Encapsulamento na OO refere-se ao pacote de operações
e atributos o qual represente o estado em um tipo de ...
Encapsulamento
NOME
CPF
RG
retornaAltura
retornaNome
Atributos
Métodos
Requisição externa
para
o valor do atributo
Nome.
Encapsulando campo… #refactor #oo
•  Ocultar o campo para o mundo externo, liberando apenas
métodos de leitura e escrita;
Isso é encapsulamento??
Mais prática para mais conhecimentos…
Criar a classe Quadrado
Area = base * base
Uma pergunta…!
•  Como faríamos para calcular a área, mas, sem passar os
valores pelos métodos de acesso?
Polimorfismo
Como isso é possível?
Herança
Herança
A herança é uma forma de reutilização de software.
Classes podem herdar de classes.
Novas classes são criadas a pa...
Cenário
Herança
Superclasse ou
classe pai
Subclasse ou
classe filha
•  A herança implica em um relacionamento “é-um”.
Precisamos saber que…
• Com a herança, os membros private de uma
superclasse não são diretamente acessíveis em
uma subclas...
Precisamos saber que…
• Os membros protected da superclasse podem
ser acessados por subclasses, mas são privados
para qual...
Mão no código J
Poderiamos criar uma instância de FormaGeometrica?
FormaGeometrica fg = new FormaGeometrica( );
Como impedir que isso
acon...
Mais código J
Colaborador Horista:
- salario * quantHoras
ColaboradorSalario:
- 3 anos: 4 %
- 5 anos: 5%
- 10 anos: 7%
Fo...
Quiz
( ) A henraça mantém um relacionamento TEM UM
( ) Encapsulamento define esconder a lógica ou processo que será
execut...
FINAL e Herança
qual o resultado?
FINAL
Quando CLASSE, impede que seja herdada
Se for um método, impede a sobrescrita
Como seria calcular o total do salário de 5
funcionários “mistos” (com array) ?
Cenário
Uma empresa
Colaboradores Vendas
Precisa receber um pagamento.Precisa pagar um colaboradores
calcularPagamento cal...
O QUE FAZER?
Herança vs Interfaces
Quando usar ?
Cenário
Uma empresa
Colaboradores Vendas
Precisa receber um pagamento.Precisa pagar um colaboradores
calcularPagamento cal...
Precisamos de um
contrato!
Interface
é um
Objetivo?
Tratar as classes de uma única forma, como um tipo só
Ambas possuem um comportamento em comum:
calcularPagamento
Interface
Importante sobre Interfaces
•  Quando uma classe concreta implementa uma
interface, a classe torna-se obrigada a fornecer ...
Como ficaria Colaborador?
Importante…
Uma classe abstrata ou não, implementa uma interface
Uma classe abstrata não é obrigada a fornecer uma impleme...
Interfaces em Repositórios de Dados
classes abstratas vs interfaces ?
java.io.Serializable
java.util.Collection
java.util.List
java.util.Set
Algumas interfaces da API
Collection
Collection
Uma coleção é um objeto que pode manter referências a
outros objetos.
Collection
É a interface raiz da hierarquia.
Representa um grupo de objetos. Alguns tipos de
collection’s permitem objetos...
É uma Collection ordenada e
p e r m i t e e l e m e n t o s
duplicados. Os elementos de
u m a l i s t a p o d e m s e r
ac...
Implementações
Onde declaramos quantas posições terá no ArrayList ?
Leitura de Objetos no ArrayList
Isso é possível?
Isso é bom ?
Outro cenário…
Funciona ?
•  O método add recebe um Object como parâmetro, o
método get retorna um Object.
Casting ?
Casting
Funciona ?
Não !
e agora ? o.O
Wrapper
Wrappers
•  Maneira de empacotar primitivos em objeto
Tipo primitivos Classe equivalente
byte Byte
short Short
char Charac...
Qdizer que é preciso fazer casting toda
vez com um elemento dentro do ArrayList ?
Generic’s
onde anda a interface List?
Dica: Orientado a Interface
Invés de:
E as outras List
•  LinkedList
•  Representa uma lista onde os elementos são duplamente
encadeados.
•  Vector
•  Represent...
Outras coleções…
• Set não mantém duplicatas de objetos e utiliza o
hashCode e equals
Map
•  Map Não é uma collection. Representa uma estrutura de
dados, onde se tem uma chave(identificador) mapeada para
um v...
Map
Há a interface Collection e a classe Collections.
Essa ultima, fornece métodos dentre outras
coisas, para buscar e classif...
Mão no código J
•  Uma classe que pergunte a secretária o nome do aluno e as duas
notas de um aluno.
•  Devem ser criados...
Quiz
( ) o ArrayList é um conjuto que acessa objetos através de índices.
( ) o Set é utilizado quando se deseja manter obj...
Exceptions
•  Tratar à exceção, significa desenvolver um software
tolerante aquela exceção. Em outras palavras, caso
aquela exceção o...
Aqui, fica o código que PODE disparar uma
exceção.
Aqui, fica o código que será executado
caso à exceção ocorra.
O tipo da exceção que o código
dentro do bloco try pode disparar.
Exemplo
Executando com tratamento
Não há exceção !
Executando a exception
A exceção foi disparada e tratada.
Sem tratar a exception
Resultado:
Entendendo o erro
Onde à exceção começou.
Onde à exceção terminou.
Quais métodos, em quais classes foram
chamados, entre o...
Teste você agora J
•  Uma divisão de um inteiro por zero causa uma
ArithmeticException. Implemente um tratamento para
ess...
Podemos criar nossas próprias exceptions?
A classe ContaCorrente, executando a operação de debitar
Caso o método debitar falhe o que acontece?
Uma possibilidade é, alterar o método debitar() para retornar um boolean
indicando se a operação foi executada:
Agora sim,...
Exceções – Disparando Exceções.
• Podemos criar uma exceção e dispará-la.
• O primeiro passo é definir uma classe que
repr...
Agora, qual método pode disparar essa exceção ?
throws – Diz que um método pode lançar uma exceção
Disparando a exceção
throw – Dispara à exceção!
Testando
Executando:
Resultado:
Saldo
Como capturar
nossas exceções?
Capturando/Tratando
Resultado:
Mais um pouco de Exceptions…
SaldoInsuficienteException herda agora de Exception.
Nada impede que o usuário não capture a ...
Exceções
verifcadas e não
verificadas?
Quando verificada
Agora o compilador obriga o tratamento da exceção ou a declaração da
mesma.
Finally
•  Sempre será executado independente de ocorrer ou
não uma exceção.
•  A exceção pode disponibilizar informações sobre o erro.
•  Por exemplo, a SaldoInsuficienteException poderia
informar q...
Sobrecarregando o construtor
Capturando mensagem
Inner Class
Classes Internas Comuns
Classes Internas de Métodos
Classes Internas
•  Declarada dentro de outra classe;
•  Possue um relacionamento especial com sua externa;
•  Acessando m...
Exemplo
Criando objetos da Interna na Externa
Criando objetos da interna em outras
classes
Instancia da Externa
Instancia da Interna
Acessando membros da classe interna
Internas de Métodos
•  São apenas acessíveis no método – esse é seu escopo.
•  Apenas final e abstract;
•  Apenas acessa v...
Exemplo de Interna de método
Classes Anônimas
Usadas comumente em padrões de
projetos como Listeners
Botão sair com java Swing
Quantos botões sair uma aplicação tem?
Usando classe anônima
Criando um objeto que implementa ActionListener J
Mais…
•  Apenas acessa variáveis local FINAL;
•  Acessando também membros privados da externa;
•  Sempre será herança ou i...
.: M_V_C :.
Padrão de Projeto que influência na
arquitetura
Estrutura
Agora é de verdade!
•  Implementar seguindo o padrão MVC, o modelo de seu
projeto, utilizando os recursos da OO.
•  Três c...
Lembrar da bricadeira da bola
No domingo:
apresentar no inicio;
a galera corrigir falhas nos diagramas e documentos e apre...
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
Próximos SlideShares
Carregando em…5
×

Orientação a Objetos para Desenvolvedores Android

2.590 visualizações

Publicada em

Material de Orientação a Objetos com Java objetivando auxiliar no aprendizado do paradigma e da linguagem Java, preparando o aluno para programar para Google Android

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.590
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
66
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Orientação a Objetos para Desenvolvedores Android

  1. 1. ANÁLISE E PROJETO DE SISTEMAS ORIENTADO A OBJETOS – PARTE 2 Prof. MSc. Iury Teixeira Faculdade de Juazeiro do Norte Especialização em Desenvolvimento de Aplicativos para Dispositivos Móveis
  2. 2. Roteiro •  Conceitos de OO •  Primitivos, Referências •  Classes, atributos e métodos •  Construtores •  Sobrecarga •  Herança e Sobrescrita (Polimorfismo) •  Leitura de diagramas •  Refactor •  Interfaces •  Coleções (List, Set, Map) •  Exceptions •  Classes Internas e Anônimas •  Apresentação Final de Projeto Implementado - MVC
  3. 3. Objetivo Implementar sistemas baseando-se no projeto arquitetural e lógico, com foco em aplicativos móveis.
  4. 4. Por que Orientação a Objetos Representar conceitos do mundo real em sistemas computacionais Permite troca de informações entre objetos da aplicação através de mensagens Reuso de Operações de forma coesa
  5. 5. O Que temos no nosso mundo??
  6. 6. O Que temos no nosso mundo??
  7. 7. O Que a criança faz? Anda Brinca Pula Grita Ações executadas por esses indivíduos…
  8. 8. Resumindo… Atributos: braços, cor do cabelo, nome, rg, cpf, idade, sexo Métodos: andar, correr, chorar, gritar, cantar
  9. 9. E onde fica a classe? Que parada é essa?
  10. 10. Classe é isso! Objetos
  11. 11. Classe •  Uma classe representa um modelo para a construção de objetos. •  Uma classe é um tipo de dado.
  12. 12. Resumindo… •  Objeto: instância de uma classe •  Classe: tipo de dado que representa a estrutura de um objeto real ou abstrato, através de atributos e métodos; •  Atributo: propriedades de um objeto; •  Método: Ações de um objeto;
  13. 13. Benefícios da O.O. Promove a reutilização de código. Flexibilização da aplicação. Concentrar esforços no ponto do problema. Aproximação do desenvolvimento com o mundo real.
  14. 14. Primitivos
  15. 15. Primitivos •  São tipos de dados
  16. 16. Primitivo x Referência
  17. 17. • Referencias vs Dados Primitivos •  Uma referência é diferente de um tipo primitivo pelo fato de não ser capaz de armazenar o valor real do dado, mas apenas referir- se ao dado. •  A referência “referencia” a localização de memória onde o dado encontra-se: •  String linguagem= “Java”; •  String plataforma = “Standard Edition”;
  18. 18. String – Estudo de Código
  19. 19. Um pouco mais…
  20. 20. Um pouco mais…
  21. 21. Quiz ( ) Um objeto representa a estrutura em memória de um dado. ( ) O método construtot é utilizado para criar um objeto. ( ) A classe define a estrutura de um objeto. ( ) Uma referência possui o objeto criado ( ) uma variável de tipo primitivo armazena o valor real. ( ) X sendo variável inteira, X++ será incrementado + 1 antes de sua próxima utilização
  22. 22. Preparar para Mão no código J •  Calcular área do triângulo •  A sintaxe (em Java) geral para declarar uma classe é: <modificador> class <NomeDaClasse>{ <Atributos>; <construtor>; <métodos>; }
  23. 23. O Que seria atributo e o que seria método nesse cenário? Quem é o objeto? Será preciso criar uma classe?
  24. 24. Triangulo base , altura e area à atributos
  25. 25. Como efetuar o calculo? calcularArea à método
  26. 26. Testando
  27. 27. Encapsulamento Encapsulamento na OO refere-se ao pacote de operações e atributos o qual represente o estado em um tipo de objeto, de tal forma que o estado é acessível ou modificável somente pela interface provida pelo encapsulamento. (Page-Jones, 2000)
  28. 28. Encapsulamento NOME CPF RG retornaAltura retornaNome Atributos Métodos Requisição externa para o valor do atributo Nome.
  29. 29. Encapsulando campo… #refactor #oo •  Ocultar o campo para o mundo externo, liberando apenas métodos de leitura e escrita;
  30. 30. Isso é encapsulamento??
  31. 31. Mais prática para mais conhecimentos… Criar a classe Quadrado Area = base * base
  32. 32. Uma pergunta…! •  Como faríamos para calcular a área, mas, sem passar os valores pelos métodos de acesso?
  33. 33. Polimorfismo
  34. 34. Como isso é possível?
  35. 35. Herança
  36. 36. Herança A herança é uma forma de reutilização de software. Classes podem herdar de classes. Novas classes são criadas a parti das classes existentes, absorvendo seus atributos e comportamentos
  37. 37. Cenário
  38. 38. Herança Superclasse ou classe pai Subclasse ou classe filha •  A herança implica em um relacionamento “é-um”.
  39. 39. Precisamos saber que… • Com a herança, os membros private de uma superclasse não são diretamente acessíveis em uma subclasse. • Os membros public da superclasse tornam-se membros da subclasse, utilizando o seu acesso original de membro.
  40. 40. Precisamos saber que… • Os membros protected da superclasse podem ser acessados por subclasses, mas são privados para qualquer classe fora da hierarquia*. •  Os construtores não são herdados.
  41. 41. Mão no código J
  42. 42. Poderiamos criar uma instância de FormaGeometrica? FormaGeometrica fg = new FormaGeometrica( ); Como impedir que isso aconteça? E o corpo do método calcular, ficar vazio, está correto? abstract #refactor
  43. 43. Mais código J Colaborador Horista: - salario * quantHoras ColaboradorSalario: - 3 anos: 4 % - 5 anos: 5% - 10 anos: 7% Fornecer também construtor para criar o objeto sobrecarregando-os
  44. 44. Quiz ( ) A henraça mantém um relacionamento TEM UM ( ) Encapsulamento define esconder a lógica ou processo que será executado ( ) Membros privados não herdados ( ) Membros estáticos sempre serão herdados a nível de pacote ( ) Quando utilizamos abstract em uma classe, a mesma não pode ser instanciada ( ) Para acessar um membro da super classe, basta apenas utilizar o identificador super.
  45. 45. FINAL e Herança qual o resultado?
  46. 46. FINAL Quando CLASSE, impede que seja herdada Se for um método, impede a sobrescrita
  47. 47. Como seria calcular o total do salário de 5 funcionários “mistos” (com array) ?
  48. 48. Cenário Uma empresa Colaboradores Vendas Precisa receber um pagamento.Precisa pagar um colaboradores calcularPagamento calcularPagamento Como atribuir polimorfismo?
  49. 49. O QUE FAZER?
  50. 50. Herança vs Interfaces
  51. 51. Quando usar ?
  52. 52. Cenário Uma empresa Colaboradores Vendas Precisa receber um pagamento.Precisa pagar um colaboradores calcularPagamento calcularPagamento É possível tratar de forma polimórfica?
  53. 53. Precisamos de um contrato!
  54. 54. Interface é um
  55. 55. Objetivo? Tratar as classes de uma única forma, como um tipo só
  56. 56. Ambas possuem um comportamento em comum: calcularPagamento Interface
  57. 57. Importante sobre Interfaces •  Quando uma classe concreta implementa uma interface, a classe torna-se obrigada a fornecer uma implementação para o método da interface •  Agora, uma Venda “é um” Pagavel
  58. 58. Como ficaria Colaborador?
  59. 59. Importante… Uma classe abstrata ou não, implementa uma interface Uma classe abstrata não é obrigada a fornecer uma implementação para o(s) método(s) de uma interface. Interfaces podem estender de várias interfaces Classes implementam interfaces e não as estendem Classes implementam interfaces e não as estendem Uma classe podem implementar várias interfaces. Além de métodos, interfaces podem conter constantes
  60. 60. Interfaces em Repositórios de Dados
  61. 61. classes abstratas vs interfaces ?
  62. 62. java.io.Serializable java.util.Collection java.util.List java.util.Set Algumas interfaces da API
  63. 63. Collection
  64. 64. Collection Uma coleção é um objeto que pode manter referências a outros objetos.
  65. 65. Collection É a interface raiz da hierarquia. Representa um grupo de objetos. Alguns tipos de collection’s permitem objetos duplicados, outros não. Alguns tipos de collection’s são ordenados outros não.
  66. 66. É uma Collection ordenada e p e r m i t e e l e m e n t o s duplicados. Os elementos de u m a l i s t a p o d e m s e r acessados via índices. List Set É uma collection que não permite elementos duplicados Map É um objeto que mapeia chaves para valores. Não é permitido chaves duplicadas.
  67. 67. Implementações Onde declaramos quantas posições terá no ArrayList ?
  68. 68. Leitura de Objetos no ArrayList
  69. 69. Isso é possível? Isso é bom ?
  70. 70. Outro cenário… Funciona ? •  O método add recebe um Object como parâmetro, o método get retorna um Object.
  71. 71. Casting ?
  72. 72. Casting Funciona ? Não !
  73. 73. e agora ? o.O
  74. 74. Wrapper
  75. 75. Wrappers •  Maneira de empacotar primitivos em objeto Tipo primitivos Classe equivalente byte Byte short Short char Character int Integer long Long float Float doube Double
  76. 76. Qdizer que é preciso fazer casting toda vez com um elemento dentro do ArrayList ?
  77. 77. Generic’s
  78. 78. onde anda a interface List?
  79. 79. Dica: Orientado a Interface Invés de:
  80. 80. E as outras List •  LinkedList •  Representa uma lista onde os elementos são duplamente encadeados. •  Vector •  Representa uma lista segura contra threads (thread-safe).
  81. 81. Outras coleções… • Set não mantém duplicatas de objetos e utiliza o hashCode e equals
  82. 82. Map •  Map Não é uma collection. Representa uma estrutura de dados, onde se tem uma chave(identificador) mapeada para um valor. Equals e hasCode são importantes para as chaves
  83. 83. Map
  84. 84. Há a interface Collection e a classe Collections. Essa ultima, fornece métodos dentre outras coisas, para buscar e classificar uma collection. Pouco mais…..
  85. 85. Mão no código J •  Uma classe que pergunte a secretária o nome do aluno e as duas notas de um aluno. •  Devem ser criados 3 alunos; •  armazenar os dados digitados em uma List (banco de dados virtual)
  86. 86. Quiz ( ) o ArrayList é um conjuto que acessa objetos através de índices. ( ) o Set é utilizado quando se deseja manter objetos repitidos. ( ) A classe Collection possui métodos que auxiliam trabalhar com objetos em conjutos. ( ) O Generics possibilita força o tipo de objeto no conjuto. ( ) o Generics sempre são executados em tempo de execução
  87. 87. Exceptions
  88. 88. •  Tratar à exceção, significa desenvolver um software tolerante aquela exceção. Em outras palavras, caso aquela exceção ocorra, o software ainda sim continuará em funcionamento.
  89. 89. Aqui, fica o código que PODE disparar uma exceção. Aqui, fica o código que será executado caso à exceção ocorra.
  90. 90. O tipo da exceção que o código dentro do bloco try pode disparar.
  91. 91. Exemplo
  92. 92. Executando com tratamento Não há exceção !
  93. 93. Executando a exception A exceção foi disparada e tratada.
  94. 94. Sem tratar a exception Resultado:
  95. 95. Entendendo o erro Onde à exceção começou. Onde à exceção terminou. Quais métodos, em quais classes foram chamados, entre o começo da exceção e termino da mesma.
  96. 96. Teste você agora J •  Uma divisão de um inteiro por zero causa uma ArithmeticException. Implemente um tratamento para essa exceção, e caso a mesma ocorra, informe ao usuário que ele não pode dividir um inteiro por zero.
  97. 97. Podemos criar nossas próprias exceptions?
  98. 98. A classe ContaCorrente, executando a operação de debitar Caso o método debitar falhe o que acontece?
  99. 99. Uma possibilidade é, alterar o método debitar() para retornar um boolean indicando se a operação foi executada: Agora sim, né ?
  100. 100. Exceções – Disparando Exceções. • Podemos criar uma exceção e dispará-la. • O primeiro passo é definir uma classe que represente a exceção. • Essa classe deverá herdar da classe RuntimeException.
  101. 101. Agora, qual método pode disparar essa exceção ? throws – Diz que um método pode lançar uma exceção
  102. 102. Disparando a exceção throw – Dispara à exceção!
  103. 103. Testando Executando: Resultado: Saldo
  104. 104. Como capturar nossas exceções?
  105. 105. Capturando/Tratando Resultado:
  106. 106. Mais um pouco de Exceptions… SaldoInsuficienteException herda agora de Exception. Nada impede que o usuário não capture a exceção.
  107. 107. Exceções verifcadas e não verificadas?
  108. 108. Quando verificada Agora o compilador obriga o tratamento da exceção ou a declaração da mesma.
  109. 109. Finally •  Sempre será executado independente de ocorrer ou não uma exceção.
  110. 110. •  A exceção pode disponibilizar informações sobre o erro. •  Por exemplo, a SaldoInsuficienteException poderia informar qual o valor do saldo atual da conta. •  Para fazer isso, defina um construtor na classe Exception com os devidos parâmetros
  111. 111. Sobrecarregando o construtor
  112. 112. Capturando mensagem
  113. 113. Inner Class
  114. 114. Classes Internas Comuns Classes Internas de Métodos
  115. 115. Classes Internas •  Declarada dentro de outra classe; •  Possue um relacionamento especial com sua externa; •  Acessando membros privados.. •  Pode ter todos os membros que um classe normal tem; •  Não pode ter membros estáticos
  116. 116. Exemplo
  117. 117. Criando objetos da Interna na Externa
  118. 118. Criando objetos da interna em outras classes Instancia da Externa Instancia da Interna
  119. 119. Acessando membros da classe interna
  120. 120. Internas de Métodos •  São apenas acessíveis no método – esse é seu escopo. •  Apenas final e abstract; •  Apenas acessa variáveis local FINAL; •  Acessando também membros privados da externa;
  121. 121. Exemplo de Interna de método
  122. 122. Classes Anônimas
  123. 123. Usadas comumente em padrões de projetos como Listeners
  124. 124. Botão sair com java Swing Quantos botões sair uma aplicação tem?
  125. 125. Usando classe anônima Criando um objeto que implementa ActionListener J
  126. 126. Mais… •  Apenas acessa variáveis local FINAL; •  Acessando também membros privados da externa; •  Sempre será herança ou implementação de interface;
  127. 127. .: M_V_C :.
  128. 128. Padrão de Projeto que influência na arquitetura
  129. 129. Estrutura
  130. 130. Agora é de verdade! •  Implementar seguindo o padrão MVC, o modelo de seu projeto, utilizando os recursos da OO. •  Três casos de uso devem ser codificados; •  Tratar possíveis falhas do sistema; •  Seguir boas práticas discutidas (ex: orientado a interfaces) e padrões; •  15 min de apresentação para cada fábrica (após o intervalo).
  131. 131. Lembrar da bricadeira da bola No domingo: apresentar no inicio; a galera corrigir falhas nos diagramas e documentos e apresentar novamente e código com regra de negocio e validação de falhas;

×