OCP - Java SE 6 Programmer 
1Z0-851 - Oracle Certified Professional, Java SE 6 
Programmer 
http://bit.ly/1tEkOy8
OCA - Java SE 7 Programmer I 
1Z0-803 - Oracle Certified Associate, Java SE 7 
Programmer 
http://bit.ly/ZKKcp0
OCA - Java SE 7 Programmer II 
1Z0-804 - Oracle Certified Professional, Java SE 7 
Programmer 
http://bit.ly/1wHP8Jg
• 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.
• 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.
• 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.
• 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.
• 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.
• 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.
• 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.
• 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.
• 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.
• 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”.
Intro   oca,ocp 6 & 7, oo basics

Intro oca,ocp 6 & 7, oo basics

  • 1.
    OCP - JavaSE 6 Programmer 1Z0-851 - Oracle Certified Professional, Java SE 6 Programmer http://bit.ly/1tEkOy8
  • 2.
    OCA - JavaSE 7 Programmer I 1Z0-803 - Oracle Certified Associate, Java SE 7 Programmer http://bit.ly/ZKKcp0
  • 3.
    OCA - JavaSE 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 Orientadaa 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 Orientadaa 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 Orientadaa 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 Orientadaa 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 Orientadaa 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 Orientadaa 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 Orientadaa 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.
  • 15.
    • Análise Orientadaa 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”.