Download - Tecnologias para Internet - 2016.1 - Aula 12
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