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.