CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
Intro oca,ocp 6 & 7, oo basics
1. OCP - Java SE 6 Programmer
1Z0-851 - Oracle Certified Professional, Java SE 6
Programmer
http://bit.ly/1tEkOy8
2. OCA - Java SE 7 Programmer I
1Z0-803 - Oracle Certified Associate, Java SE 7
Programmer
http://bit.ly/ZKKcp0
3. OCA - Java SE 7 Programmer II
1Z0-804 - Oracle Certified Professional, Java SE 7
Programmer
http://bit.ly/1wHP8Jg
4. • OO - Motivação
–Motivação: Com a constante evolução das empresas,
as regras de negócio se tornaram variáveis e a
produção de software exige a adoção de métodos de
desenvolvimento que atendam essa dinâmica do
mercado, com intuito de manter e melhorar a
qualidade.
– A orientação a objetos é um dos métodos mais
utilizados, oferece recursos para desenvolver
software com qualidade e com a utilização de seus
conceitos pode-se interagir com elementos do
mundo real e traduzir suas características para o
mundo computacional.
5. • OO - Definição
– Definição: análise orientada a objetos concentra-se no
desenvolvimento de um modelo orientado a objetos do
domínio negocial para uma aplicação. Os objetos nesse
modelo refletem as entidades, atributos e operações
associadas ao problema a ser resolvido.
– Este modelo descreverá como o software funcionará para
satisfazer uma série de requisitos definido pelo cliente.
6. • Análise Orientada a Objetos - Conceitos
– Abstração: A abstração consiste na separação dos
objetos de uma totalidade, tal segmentação
proporciona uma melhor utilização dos recursos da
orientação a objetos. Pelo princípio da abstração, nós
isolamos os objetos que queremos representar do
ambiente complexo em que se situam, e nesses
objetos representamos somente as características que
são relevantes para o problema em questão.
7. • Análise Orientada a Objetos - Conceitos
– Encapsulamento: O encapsulamento é um dos pilares da
orientação a objetos e sua característica é ocultar partes da
implementação desta forma a construir softwares que atinjam
suas funcionalidades e escondam os detalhes de tal
implementação do mundo exterior. Os objetos encapsulados
funcionam como uma caixa preta, sabe-se da sua interface
externa, mas não precisamos nos preocupar com o que acontece
dentro dela.
– Com encapsulamento, os usúarios de um objetos não precisam se
preocupar como eles são constituídos internamente, apenas como
interagir com os mesmos através de uma interface, acelerando o
tempo de desenvolvimento.
8. • Análise Orientada a Objetos - Conceitos
– Encapsulamento: Grande parte das linguagens de programação
orientadas a objeto suportam três níveis de acessos.
• Público – todos os objetos tem acesso;
• Protegido – o acesso é apenas para instância, no caso para o
objeto e todas as subclasses;
• Privado – o acesso é apenas para o objeto da instância.
– A escolha do acesso é importante, visto que todo comportamento
que você queira tornar visível para que o mundo exterior deve ser
definido como público bem como o comportamento que deseja
ocultar o acesso deve ser definido como protegido ou privado.
9. • Análise Orientada a Objetos - Conceitos
– Classe: A classe representa uma forma (template) para um
conjunto de objetos. Os objetos, por sua vez, estes apesar de
possuírem atributos iguais têm valores diferentes em seus
atributos (não estáticos em Java).
– A classe é um modelo e todos os seus objetos têm os mesmos
atributos, embora esses atributos de instância de objeto possam
ter valores diferentes e também os mesmos métodos.
10. • Análise Orientada a Objetos - Conceitos
– Objeto: Um objeto é qualquer indivíduo, lugar, evento, coisa,
tela, relatório ou conceito que seja aplicável ao sistema. Todo
objeto pertence a uma determinada classe e possui atributos
próprios. Os atributos são mutáveis e podem receber diferentes
valores de acordo com as características do objeto.
– A criação de um objeto consiste em sua instanciação, cada
instância tem seus próprios valores de atributos, mas compartilha
o nome e os comportamentos dos atributos e métodos com a
outras instâncias da classe.
11. • Análise Orientada a Objetos - Conceitos
– Herança: A herança é uma das principais características das
linguagens de programação orientadas a objetos, permite o
reaproveitamento de métodos e atributos diminuindo o tempo de
desenvolvimento, ainda reduz a qtde de linhas de código desta
forma facilita as manutenções futuras.
– A utilização da herança é mais que uma simples economia de
código, significa maior controle, previsibilidade e integridade.
Quando um comportamento é alterado, todas as classes que
descendem dela vão refletir a mudança.
12. • Análise Orientada a Objetos - Conceitos
– Herança: Existem dois tipos de herança, a simples que herda
apenas as características de uma superclasse, e a composta, que
herda as características de duas ou mais superclasses.
13.
14.
15. • Análise Orientada a Objetos - Conceitos
– Polimorfismo (e RTTI): O polimorfismo está diretamente ligado
à hereditariedade das classes, este trabalha com a sobreposição
de métodos herdados, ou seja, os métodos têm a mesma
assinatura (têm o mesmo nome), mas a forma de implementação
utilizada diferem do da superclasse.
– No polimorfismo, cada classe pode definir um dado
comportamento de sua própria maneira, de forma a representar
através de um mesmo nome de meétodo comportamentos
diferentes”.