88
Tecnologias para Internet Prof.º Thyago Maia

Tecnologias para Internet - 2016.1 - Aula 12

Embed Size (px)

Citation preview

Algoritmos

Tecnologias para Internet

Prof. Thyago Maia

Paradigmas de Programao

Paradigmas de ProgramaoUma linguagem de programao (LP) = Notao formal para descrio de algoritmos em um computador;

necessrio entender as organizaes das LP, com nfase na compreenso dos seus conceitos abstratos e dos seus elementos de representao; 3

Paradigmas de ProgramaoCada LP pode se relacionar com um mtodo de projeto especfico;

Cada linguagem de programao pode forar um certo estilo de programao;

Tais estilos so chamados de paradigmas de programao;4

Paradigmas de ProgramaoPrincipais paradigmas:

Programao ProceduralProgramao Orientada a Objetos5

Paradigmas de ProgramaoProgramao Procedural (Estruturado):Estilo de programao convencional (descrita no aprendizado em algoritmos);Programas so decompostos em passos de processamento;Rotinas so usadas na modularizao de passos especficos;

Ex.: Pascal e C;6

Paradigmas de ProgramaoProgramao Procedural:7program Teste; var a, b:integer; begin writeln('Digite um nmero para 7'); readln(a); writeln('Digite o nmero para 6'); readln(b); if (a > b) then { Se 7 maior que 6 ento } writeln('7 maior que 6') else { Seno } if (a < b) then writeln('6 maior que 7') else writeln('6 igual 7'); end.

Paradigma de Programao Orientado a Objetos

Paradigma de Programao OOO paradigma OO prope que a soluo de qualquer problema pode ser obtida seguindo estas etapas:

Procurar e implementar classes existentes no problema;Determinar as caractersticas e responsabilidades de cada classe;Instanciar objetos de cada classe;Estabelecer como ocorrer a interao entre os objetos;9

Paradigma de Programao OOClasseEstrutura de dados que possui atributos (variveis de classe) e mtodos (funes PHP);Descreve as propriedades e comportamentos de objetos;Modelo ou template para objetos;

ObjetoOriginada com base em uma classe;A partir de um objeto, temos uma cpia dos atributos e mtodos de uma classe;Interagem no sistema e armazenam dados;

10

Paradigma de Programao OOExemplo 1 Implementao de uma classe em PHP:11// Arquivo Produto.class.php

Paradigma de Programao OOExemplo 1 Instanciando um objeto da classe Produto:12// Arquivo testeObjeto.php

Paradigma de Programao OOExemplo 2 A classe Produto com atributos e um mtodo:13// Arquivo Produto.class.php

Paradigma de Programao OOExemplo 2 Instanciando um objeto da classe Produto e executando um mtodo do mesmo:15// Arquivo testeObjeto.php

Paradigma de Programao OOExemplo Implementando classes PHP a partir de diagramas de classe UML16

Paradigma de Programao OOExemplo Criando objetos das classes Pessoa e Conta17

PHP OO Construtores e Destrutores

ConstrutorMtodo especial utilizado para definir o comportamento inicial de um objeto;

Muito utilizado para inicializar atributos (variveis de classe);

Executado automaticamente no momento da instncia de um objeto (uso da palavra reservada new);19

ConstrutorSintaxe:20

function __construct($p_1, $p_2, ..., $p_n)

DestrutorMtodo especial a ser executado automaticamente quando o objeto desalocado da memria ou quando o programa finalizado;

Muito utilizado para finalizar conexes, apagar arquivos temporrios, etc.;

21

DestrutorSintaxe:22

function __destruct()

Construtores e DestrutoresExemplo Criao de construtores e destrutores23

PHP OO Herana

HeranaPermite reutilizar atributos e mtodos j definidos em uma outra classe;

Elimina eventuais duplicaes ou reescritas de cdigo;

Classes-filha (subclasses) herdam implementaes da classe-pai (superclasse) de acordo com uma hierarquia;

25

HeranaUsamos a palavra reservada extends na assinatura de uma classe para estabelecer uma hierarquia;

Sintaxe:26

Armazenamento em ClassesSintaxe Constantes Exemplo:

55

Armazenamento em ClassesSintaxe Atributos Estticos Exemplo:

Para acessar um atributo de classe esttico...... a partir da prpria classe: self::$Quantidade;... a partir de uma subclasse: parent::$Quantidade;... Externamente, fora da hierarquia: Aplicacao::$Quantidade;

56

Armazenamento em ClassesSintaxe Atributos Estticos Exemplo:

57

PHP OO Mtodos Estticos

Mtodos EstticosPodem ser invocados diretamente pelo nome da classe, sem a necessidade de instanciar um objeto;S podem manipular atributos estticos;S podem chamar outros mtodos estticos;

Usamos a palavra reservada static na assinatura de um mtodo de classe;Usamos a sintaxe NomeDaClasse::NomeDoMetodo() para executar um mtodo esttico;

59

Mtodos EstticosSintaxe Mtodos Estticos Exemplo:

60

PHP OO Interfaces

InterfaceClasse que define um conjunto de mtodos que determinadas classes de um sistema devero implementar incondicionalmente;

Seus mtodos possuem apenas assinaturas;No possuem implementao!

Tal classe no possui atributos;

62

InterfaceUsamos a palavra reservada interface na assinatura da classe que funcionar como uma interface;

Usamos a palavra reservada implements na assinatura da classe que implementar uma interface;

Uma classe pode implementar mais de uma interface;

63

InterfaceSintaxe Exemplo:64

PDO PHP Data Objects

PDO PHP Data ObjectsUnifica o acesso s diferentes extenses de bancos de dados presentes em PHP; Prov uma API limpa e consistente, unificando a maioria das caractersticas presentes nas extenses de acesso a banco de dados

Unifica a chamada de mtodos, graas orientao a objetos presentes no PHP5;

66

PDO PHP Data ObjectsSequncia de passos:

1. A aplicao estabelece uma conexo com o SGBD; 2. A aplicao seleciona uma base de dados a ser utilizada durante a conexo; 3. A aplicao executa uma consulta especfica (seleo, insero, remoo...); 4. A aplicao fecha a conexo corrente com o SGBD;

PDO PHP Data ObjectsPDO Conexo com bancos de dados:

68BancoString de ConexoSQLitenew PDO(sqlite: teste.db);FireBirdnew PDO(firebird:dbname=C:\\base.GDB, SYSDBA, masterkey);MySQLnew PDO('mysql:host=localhost;dbname=base', 'login', 'senha');Postgresnew PDO('pgsql:dbname=example; user=user; password=senha;host=localhost');

PDO Exemplos

PDO ExemplosNo phpmyadmin, configure o banco de dados da atividade:

Database: livrosTabela: famososCampos: codigo (int, auto increment, chave primria) e nome (varchar[100]);

70

PDO ExemplosExemplo 1: Inserindo dados via PDO

71