SlideShare uma empresa Scribd logo
1 de 15
PARADIGMA DE
ORIENTAÇÃO A
OBJETOS
André Victor S. M dos Santos
• CONCEITO GERAL
 Na Programação Orientada a Objetos, a aplicação é vista como
uma rede dinâmica de objetos colaboradores que permite aos
desenvolvedores de software administrar mais facilmente, a
complexidade do domínio do problema, permitindo desenvolver
softwares mais flexíveis, mais fáceis de se manutenir, além de
melhorar as possibilidades de reusabildiade de código;
 Deste modo, utilizando o paradigma Orientado a Objetos,
modelamos e construímos sistemas, baseado nos objetos que
compõem o mesmo.
• IDEIA DA POO
 A POO foi criada para tentar aproximar o mundo real do mundo
virtual: a ideia fundamental é tentar simular o mundo real dentro do
computador. Para isso, nada mais natural do que utilizar Objetos
que recebem mensagens.
 OBJETOS:
 O programador explica como os objetos devem interagir entre si. Os objetos
"conversam" uns com os outros através do envio de mensagens, e o papel principal
do programador é especificar quais serão as mensagens que cada objeto pode
receber, e também qual a ação que aquele objeto deve realizar ao receber
aquela mensagem em específico.
 MENSAGENS:
 é um pequeno texto que os objetos conseguem entender e, por questões
técnicas, não pode conter espaços. Junto com algumas dessas mensagens
ainda é possível passar algumas informações para o objeto (parâmetros),
dessa forma, dois objetos conseguem trocar informações entre si facilmente.
• ENTENDENDO A POO
 Formalmente, para ser considerada uma linguagem OO, essa
precisa implementar quatro conceitos básicos:
 Abstração;
 Classe;
 Encapsulamento;
 Herança e
 Polimorfismo.
• ABSTRAÇÃO:
 Nesse contexto a abstração refere-se à capacidade de modelar o
mundo real, e por outro lado, podemos considerá-la como um
mecanismo pelo qual restringimos o nosso universo de análise e as
variáveis e constantes que compõem esse universo, desprezando os
dados que não nos interessa na análise;
 Quando fechamos os olhos e pensamos em uma mesa; esta mesa
imaginária provavelmente não vai ser igual à uma outra imaginada
por outras pessoas, mas o que importa é que todos as pessoas que
imaginaram uma mesa, colocaram nessa as informações que para
elas são necessárias para a sua função (de ser uma mesa).
• CLASSE:
 Uma classe é uma abstração que define um tipo de objeto e o que
objetos deste determinado tipo tem dentro deles (seus atributos) e
também define que tipo de ações esse tipo de objeto é capaz de
realizar (métodos);
 Uma classe descreve um conjunto de objetos com as mesmas
propriedades, o mesmo comportamento, os mesmos
relacionamentos com outros objetos e a mesma semântica.
• ENCAPSULAMENTO:
 Contribui fundamentalmente para diminuir os malefícios causados
pela interferência externa sobre os dados. Partindo desse princípio,
toda e qualquer transação feita com esses dados só pode ser feita
através de procedimentos colocados "dentro" desse objeto, pelo
envio de mensagens;
 Desta maneira, dizemos que um dado está encapsulado quando
envolvido por código de forma que só é visível na rotina onde foi
criado; o mesmo acontece com uma rotina, que sendo
encapsulada, suas operações internas são invisíveis às outras
rotinas.
• HERANÇA:
 É um mecanismo que, se for bem empregado, permite altos graus
de reutilização de código;
 Do ponto de vista prático, pode ser entendido como sendo um
conjunto de instâncias criadas a partir de um outro conjunto de
instâncias com características semelhantes, e os elementos desse
subconjunto herdam todas as características do conjunto original;
 A ideia é fornecer um mecanismo simples (mas muito poderoso)
para que se defina novas classes a partir de uma já existente.
• POLIMORFISMO:
 É definido como sendo um código que possui "vários
comportamentos" ou que produz "vários comportamentos";
 Em outras palavras, é um código que pode ser aplicado à várias
classes de objetos.
 De maneira prática isto quer dizer que a operação em questão
mantém seu comportamento transparente para quaisquer tipos de
argumentos; isto é, a mesma mensagem é enviada a objetos de
classes distintas e eles poderão reagir de maneiras diferentes
PERSISTÊNCIA DE
DADOS VIA JDBC
• PERSISTÊNCIA DE DADOS
 A função de um sistema de gerenciamento de banco de dados
é permitir o acesso e a atualização simultâneos de bancos de
dados persistentes. A fim de garantir a persistência dos dados a
longo prazo, os sistemas de gerenciamento de banco de dados
utilizam várias estratégias de recuperação em caso de falhas na
transação, no sistema ou no meio
• JAVA DATABASE CONNECTIVITY
 A Java Database Connectivity (JDBC) é uma tecnologia que
oferece uma API baseada em Java para acesso a bases de dados
e outras fontes de dados relacionais. Usando esta API, um
programa pode consultar e modificar dados numa base de dados,
com suporte a transações ACID;
 A API permite ao programador controlar vários aspectos da
interação com a base de dados local, incluindo a gestão de
transações no âmbito de transações distribuídas através da
interface XA (begin, prepare, commit, abort).
• A CONEXÃO EM JAVA
 Para evitar que cada banco tenha a sua própria API e conjunto de
classes e métodos, temos um único conjunto de interfaces muito bem
definidas que devem ser implementadas. Esse conjunto de interfaces
fica dentro do pacote java.sql e nos referiremos a ela como JDBC;
 Entre as diversas interfaces deste pacote, existe a interface Connection
que define métodos para executar uma query, comitar transação e
fechar a conexão, entre outros;
 Caso queiramos trabalhar com o MySQL, precisamos de classes
concretas que implementem essas interfaces do pacote java.sql.
 CLASSES CONCRETAS:
 Esse conjunto de classes concretas é quem fará a ponte entre o código cliente que
usa a API JDBC e o banco de dados. São essas classes que sabem se comunicar
através do protocolo proprietário do banco de dados. Esse conjunto de classes
recebe o nome de driver;
 Para abrir uma conexão com um banco de dados, precisamos utilizar sempre um
driver. A classe DriverManager é a responsável por se comunicar com todos os
drivers que você deixou disponível. Para isso, invocamos o método estático
getConnection com uma String que indica a qual banco desejamos nos conectar.

Mais conteúdo relacionado

Destaque

Media And Entertainment Whitepaper 090308
Media And Entertainment Whitepaper 090308Media And Entertainment Whitepaper 090308
Media And Entertainment Whitepaper 090308sydcarr
 
Edible oil processing
Edible oil processingEdible oil processing
Edible oil processingVijay Kumar.N
 
Grand Canyon
Grand CanyonGrand Canyon
Grand Canyonmoh2599
 
Experience Hult 2013 - Prof Tom Hall
Experience Hult 2013 - Prof Tom HallExperience Hult 2013 - Prof Tom Hall
Experience Hult 2013 - Prof Tom HallHult-APAC
 
Focusing on Safety: Safety planning in the context of same-sex domestic violence
Focusing on Safety: Safety planning in the context of same-sex domestic violenceFocusing on Safety: Safety planning in the context of same-sex domestic violence
Focusing on Safety: Safety planning in the context of same-sex domestic violenceACON
 
Etht grp 13 (140080125017,18,19,20)
Etht grp 13 (140080125017,18,19,20)Etht grp 13 (140080125017,18,19,20)
Etht grp 13 (140080125017,18,19,20)Yash Dobariya
 
Theater field trip letter
Theater field trip letterTheater field trip letter
Theater field trip lettercarpedee
 
Recipes for Optical Effect System Design - Real-time Rendering of Physically...
Recipes for Optical Effect System Design - Real-time Rendering of Physically...Recipes for Optical Effect System Design - Real-time Rendering of Physically...
Recipes for Optical Effect System Design - Real-time Rendering of Physically...Silicon Studio Corporation
 
éTica profesional semana uno mayo 2015.
éTica profesional semana uno mayo 2015.éTica profesional semana uno mayo 2015.
éTica profesional semana uno mayo 2015.mariapuga06
 

Destaque (16)

Media And Entertainment Whitepaper 090308
Media And Entertainment Whitepaper 090308Media And Entertainment Whitepaper 090308
Media And Entertainment Whitepaper 090308
 
Convocatoria del doctorado en educación
Convocatoria del doctorado en educaciónConvocatoria del doctorado en educación
Convocatoria del doctorado en educación
 
Edible oil processing
Edible oil processingEdible oil processing
Edible oil processing
 
E-sports
E-sportsE-sports
E-sports
 
Grand Canyon
Grand CanyonGrand Canyon
Grand Canyon
 
Experience Hult 2013 - Prof Tom Hall
Experience Hult 2013 - Prof Tom HallExperience Hult 2013 - Prof Tom Hall
Experience Hult 2013 - Prof Tom Hall
 
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de EncapsulamentoPOO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
 
Focusing on Safety: Safety planning in the context of same-sex domestic violence
Focusing on Safety: Safety planning in the context of same-sex domestic violenceFocusing on Safety: Safety planning in the context of same-sex domestic violence
Focusing on Safety: Safety planning in the context of same-sex domestic violence
 
PROSPECTIVE STUDY WITH OUTCOME ON GESTATIONAL DIABETES MELLITUS
PROSPECTIVE STUDY WITH OUTCOME ON GESTATIONAL DIABETES MELLITUSPROSPECTIVE STUDY WITH OUTCOME ON GESTATIONAL DIABETES MELLITUS
PROSPECTIVE STUDY WITH OUTCOME ON GESTATIONAL DIABETES MELLITUS
 
Etht grp 13 (140080125017,18,19,20)
Etht grp 13 (140080125017,18,19,20)Etht grp 13 (140080125017,18,19,20)
Etht grp 13 (140080125017,18,19,20)
 
Theater field trip letter
Theater field trip letterTheater field trip letter
Theater field trip letter
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
Impuestos en Bolivia
Impuestos en BoliviaImpuestos en Bolivia
Impuestos en Bolivia
 
Recipes for Optical Effect System Design - Real-time Rendering of Physically...
Recipes for Optical Effect System Design - Real-time Rendering of Physically...Recipes for Optical Effect System Design - Real-time Rendering of Physically...
Recipes for Optical Effect System Design - Real-time Rendering of Physically...
 
éTica profesional semana uno mayo 2015.
éTica profesional semana uno mayo 2015.éTica profesional semana uno mayo 2015.
éTica profesional semana uno mayo 2015.
 
Curriculum Vitae
Curriculum VitaeCurriculum Vitae
Curriculum Vitae
 

Semelhante a POO e JDBC: conceitos fundamentais

Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objetoelliando dias
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 
Arquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrArquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrThiago Boufleuhr
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientadarobinhoct
 

Semelhante a POO e JDBC: conceitos fundamentais (20)

Sld 4
Sld 4Sld 4
Sld 4
 
Banco de Dados Orientado a Objeto
Banco de Dados Orientado a ObjetoBanco de Dados Orientado a Objeto
Banco de Dados Orientado a Objeto
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
aula 1.pptx
aula 1.pptxaula 1.pptx
aula 1.pptx
 
Gof mediator pattern
Gof   mediator patternGof   mediator pattern
Gof mediator pattern
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Banco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetosBanco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetos
 
Quick reference
Quick referenceQuick reference
Quick reference
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Arquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhrArquitetura mix thiagoboufleuhr
Arquitetura mix thiagoboufleuhr
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
Padroes de Projeto
Padroes de ProjetoPadroes de Projeto
Padroes de Projeto
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientada
 
Introducao basica-linguagem-java
Introducao basica-linguagem-javaIntroducao basica-linguagem-java
Introducao basica-linguagem-java
 

POO e JDBC: conceitos fundamentais

  • 2. • CONCEITO GERAL  Na Programação Orientada a Objetos, a aplicação é vista como uma rede dinâmica de objetos colaboradores que permite aos desenvolvedores de software administrar mais facilmente, a complexidade do domínio do problema, permitindo desenvolver softwares mais flexíveis, mais fáceis de se manutenir, além de melhorar as possibilidades de reusabildiade de código;  Deste modo, utilizando o paradigma Orientado a Objetos, modelamos e construímos sistemas, baseado nos objetos que compõem o mesmo.
  • 3. • IDEIA DA POO  A POO foi criada para tentar aproximar o mundo real do mundo virtual: a ideia fundamental é tentar simular o mundo real dentro do computador. Para isso, nada mais natural do que utilizar Objetos que recebem mensagens.
  • 4.  OBJETOS:  O programador explica como os objetos devem interagir entre si. Os objetos "conversam" uns com os outros através do envio de mensagens, e o papel principal do programador é especificar quais serão as mensagens que cada objeto pode receber, e também qual a ação que aquele objeto deve realizar ao receber aquela mensagem em específico.  MENSAGENS:  é um pequeno texto que os objetos conseguem entender e, por questões técnicas, não pode conter espaços. Junto com algumas dessas mensagens ainda é possível passar algumas informações para o objeto (parâmetros), dessa forma, dois objetos conseguem trocar informações entre si facilmente.
  • 5. • ENTENDENDO A POO  Formalmente, para ser considerada uma linguagem OO, essa precisa implementar quatro conceitos básicos:  Abstração;  Classe;  Encapsulamento;  Herança e  Polimorfismo.
  • 6. • ABSTRAÇÃO:  Nesse contexto a abstração refere-se à capacidade de modelar o mundo real, e por outro lado, podemos considerá-la como um mecanismo pelo qual restringimos o nosso universo de análise e as variáveis e constantes que compõem esse universo, desprezando os dados que não nos interessa na análise;  Quando fechamos os olhos e pensamos em uma mesa; esta mesa imaginária provavelmente não vai ser igual à uma outra imaginada por outras pessoas, mas o que importa é que todos as pessoas que imaginaram uma mesa, colocaram nessa as informações que para elas são necessárias para a sua função (de ser uma mesa).
  • 7. • CLASSE:  Uma classe é uma abstração que define um tipo de objeto e o que objetos deste determinado tipo tem dentro deles (seus atributos) e também define que tipo de ações esse tipo de objeto é capaz de realizar (métodos);  Uma classe descreve um conjunto de objetos com as mesmas propriedades, o mesmo comportamento, os mesmos relacionamentos com outros objetos e a mesma semântica.
  • 8. • ENCAPSULAMENTO:  Contribui fundamentalmente para diminuir os malefícios causados pela interferência externa sobre os dados. Partindo desse princípio, toda e qualquer transação feita com esses dados só pode ser feita através de procedimentos colocados "dentro" desse objeto, pelo envio de mensagens;  Desta maneira, dizemos que um dado está encapsulado quando envolvido por código de forma que só é visível na rotina onde foi criado; o mesmo acontece com uma rotina, que sendo encapsulada, suas operações internas são invisíveis às outras rotinas.
  • 9. • HERANÇA:  É um mecanismo que, se for bem empregado, permite altos graus de reutilização de código;  Do ponto de vista prático, pode ser entendido como sendo um conjunto de instâncias criadas a partir de um outro conjunto de instâncias com características semelhantes, e os elementos desse subconjunto herdam todas as características do conjunto original;  A ideia é fornecer um mecanismo simples (mas muito poderoso) para que se defina novas classes a partir de uma já existente.
  • 10. • POLIMORFISMO:  É definido como sendo um código que possui "vários comportamentos" ou que produz "vários comportamentos";  Em outras palavras, é um código que pode ser aplicado à várias classes de objetos.  De maneira prática isto quer dizer que a operação em questão mantém seu comportamento transparente para quaisquer tipos de argumentos; isto é, a mesma mensagem é enviada a objetos de classes distintas e eles poderão reagir de maneiras diferentes
  • 12. • PERSISTÊNCIA DE DADOS  A função de um sistema de gerenciamento de banco de dados é permitir o acesso e a atualização simultâneos de bancos de dados persistentes. A fim de garantir a persistência dos dados a longo prazo, os sistemas de gerenciamento de banco de dados utilizam várias estratégias de recuperação em caso de falhas na transação, no sistema ou no meio
  • 13. • JAVA DATABASE CONNECTIVITY  A Java Database Connectivity (JDBC) é uma tecnologia que oferece uma API baseada em Java para acesso a bases de dados e outras fontes de dados relacionais. Usando esta API, um programa pode consultar e modificar dados numa base de dados, com suporte a transações ACID;  A API permite ao programador controlar vários aspectos da interação com a base de dados local, incluindo a gestão de transações no âmbito de transações distribuídas através da interface XA (begin, prepare, commit, abort).
  • 14. • A CONEXÃO EM JAVA  Para evitar que cada banco tenha a sua própria API e conjunto de classes e métodos, temos um único conjunto de interfaces muito bem definidas que devem ser implementadas. Esse conjunto de interfaces fica dentro do pacote java.sql e nos referiremos a ela como JDBC;  Entre as diversas interfaces deste pacote, existe a interface Connection que define métodos para executar uma query, comitar transação e fechar a conexão, entre outros;  Caso queiramos trabalhar com o MySQL, precisamos de classes concretas que implementem essas interfaces do pacote java.sql.
  • 15.  CLASSES CONCRETAS:  Esse conjunto de classes concretas é quem fará a ponte entre o código cliente que usa a API JDBC e o banco de dados. São essas classes que sabem se comunicar através do protocolo proprietário do banco de dados. Esse conjunto de classes recebe o nome de driver;  Para abrir uma conexão com um banco de dados, precisamos utilizar sempre um driver. A classe DriverManager é a responsável por se comunicar com todos os drivers que você deixou disponível. Para isso, invocamos o método estático getConnection com uma String que indica a qual banco desejamos nos conectar.