Programação Orientada à Objetos
com java
2
Programação Orientada à Objetos
“Dá-se importância aos antepassados
quando já não temos nenhum.”
4
Classes Abstratas
●
Usamos a palavra chave abstract para impedir que ela
possa ser instanciada.
●
Esse é o efeito direto de se usar o modificador abstract
na declaração de uma classe.
●
Não poder ser instanciada, significa que não há objetos
que possam ser construídos diretamente de sua
definição.
Classes Abstratas
●
Por exemplo, a compilação do seguinte trecho de
6
Classes Abstratas
Classes Abstratas
●
Normalmente,
elas
definem
um
grupo
de
funcionalidades das quais pelo menos uma está
esecificada mas não está definida — ou seja, contém
pelo menos um método abstrato.
●
A implementação destes métodos fica a cargo das
classes Filhas ou classes Finais.
8
Métodos Abstratos
●
Um método abstrato não cria uma definição,
mas apenas uma declaração de um método
que deverá ser implementado em uma classe
derivada.
●
Se esse método não for implementado na
classe derivada, esta permanece como uma
classe abstrata mesmo que não tenha sido
assim declarada explicitamente.
10
Métodos Abstratos
●
Assim, para que uma classe derivada de uma
classe abstrata possa gerar objetos, os
métodos abstratos devem ser definidos em
classes derivadas:
12
Mas, como declarar um método abstrato?
Métodos Abstratos
●
Às vezes, não fica claro como declarar um
método abstrato.
●
Basta escrever a palavra chave abstract na
assinatura do mesmo e colocar um ponto e
vírgula em vez de abre e fecha chaves!
14
16
Classes Abstratas
18
Programação Orientada à Objetos
20
Referências
DEITEL, Paul; DEITEL, Harvey. Programação orientada a objetos: polimorfismo. In: DEITEL, Paul; DEITEL, Harvey. Java: Como Programar. 8. ed. São Paulo: Pearson Education, 2010. Cap. 10. p. 304-331.
GENARI, Maria Cristina. Minidicionário Saraiva de Informática. São Paulo: Saraiva, 2003. 555 p. GOES a, Wilson Moares. Diagrama de Classes. In: GOES, Wilson Moares. Aprenda UML por meio
de estudo de casos. São Paulo: Novatec, 2014. Cap. 5. p. 132-177.
____ b, Wilson Moares. Introdução à Análise e ao Projeto Orientados a Objetos. In: GOES, Wilson Moares. Aprenda UML por meio de estudo de casos. São Paulo: Novatec, 2014. Cap. 2. p. 23-28. GUEDES, Gilleanes T. A.. Orientação à Objetos. In: GUEDES, Gilleanes T. A.. UML 2: Uma
22
Referências
RICARTE, Ivan Luiz Marques. Fundamentos da programação orientada a objetos. In: RICARTE, Ivan Luiz Marques. Programação Orientada a Objetos: Uma Abordagem com Java. Campinas: Unicamp, 2001. Cap. 1. p. 3-6. Disponível em: <http://www.dca.fee.unicamp.br/cursos/PooJava/Aulas/poojava.pdf>. Acesso em: 03 ago. 2016.
SANDERS, William. Aprendendo Padrões de Projeto em PHP: Programação Orientada A Objetos para Projetos Dinâmicos. São Paulo: Novatec, 2013.
SOMERA a, Guilherme. Princípio de orientação a objetos. In: SOMERA, Guilherme. Treinamento
Profissional em Java: Aprenda a programar nesta poderosa linguagem! São Paulo: Digerati Books,
2006. Cap. 2. p. 11-15.
______ b, Guilherme. A Linguagem Java. In: SOMERA, Guilherme. Treinamento Profissional em Java:
Referências
WALNUM, Clayton. Fundamentos da Linguagem Java: Conceitos de Programação
Orientada a Objetos. In: WALNUM, Clayton. JAVA em Exemplos: A maneira mais fácil
de aprender a programar para a Web!. São Paulo: Makron Books, 1997. Cap. 4. p. 41-52.
WIKILIVROS a. Java/Herança. 2016. Disponível em:
<https://pt.wikibooks.org/wiki/Java/Herança>. Acesso em: 3 ago. 2016.
__________ b. Programação Orientada a Objetos/Introdução. 2016. Disponível em: <https://pt.wikibooks.org/wiki/Programação_Orientada_a_Objetos/Introdução>. Acesso em: 03 ago. 2016.
24
Referências
WIKIPEDIA a. Atributo (programação). 2016. Disponível em: <https://pt.wikipedia.org/wiki/Atributo_(programação)>. Acesso em: 28 jul. 2016.
_________ b. Edsger Dijkstra. 2016. Disponível em:
<https://pt.wikipedia.org/wiki/Edsger_Dijkstra>. Acesso em: 02 ago. 2016.
_________ c. Orientação a objetos. 2016. Disponível em: <https://pt.wikipedia.org/wiki/Orientação_a_objetos>. Acesso em: 3 ago. 2016. WIKIQUOTE. Talk:Edsger W. Dijkstra. 2016. Disponível em: <https://en.wikiquote.org/wiki/Talk:Edsger_W._Dijkstra>. Acesso em: 02 ago. 2016.