Paradigma de orientação a objetos -

15
PARADIGMA DE ORIENTAÇÃO A OBJETOS André Victor S. M dos Santos

Transcript of Paradigma de orientação a objetos -

Page 1: Paradigma de orientação a objetos -

PARADIGMA DE ORIENTAÇÃO A

OBJETOSAndré Victor S. M dos Santos

Page 2: Paradigma de orientação a objetos -

• 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.

Page 3: Paradigma de orientação a objetos -

• 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.

Page 4: Paradigma de orientação a objetos -

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.

Page 5: Paradigma de orientação a objetos -

• 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.

Page 6: Paradigma de orientação a objetos -

• 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).

Page 7: Paradigma de orientação a objetos -

• 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.

Page 8: Paradigma de orientação a objetos -

• 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. 

Page 9: Paradigma de orientação a objetos -

• 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.

Page 10: Paradigma de orientação a objetos -

• 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

Page 11: Paradigma de orientação a objetos -

PERSISTÊNCIA DE DADOS VIA JDBC

Page 12: Paradigma de orientação a objetos -

• 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

Page 13: Paradigma de orientação a objetos -

• 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).

Page 14: Paradigma de orientação a objetos -

• 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.

Page 15: Paradigma de orientação a objetos -

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.