Conceitos de OO AUTOLOAD. <?php function autoload($class_name) { require_once $class_name. '.php'; } $obj = new MyClass1(); $obj2 = new MyClass2();?



Documentos relacionados
Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Desenvolvimento de Aplicações para Internet Aula 7

PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof. Marcelo da Silveira Siedler siedler@gmail.com

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

sobre rogério gonçalves gerente de projetos > digitale agência digital rogerio@digitale.com.br h7p:// h7p://leveme.

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

ProgramaTchê programatche.net Programação OO com PHP

PHP INTRODUÇÃO CLASSES E OBJETOS

Desenvolvimento de Aplicações para Internet Aula 8

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP

Módulo 07 Características Avançadas de Classes

Curso de Programação Web com PHP Aula 01

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

Parte I. Orientação a objetos no PHP. Contato: <lara.popov@ifsc.edu.br> Site:

Prof. Jhonatan Fernando

BANCO DE DADOS WEB. Professor Luciano Roberto Rocha

Recursos avançados e Orientação a Objetos no PHP

Reuso com Herança a e Composiçã

7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br)

PS: Este artigo é destinado a quem já possui conhecimentos razoáveis em orientação a objetos. Não entrando em muitos detalhes conceituais.

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Programação de Computadores - I. Profª Beatriz Profº Israel

Linguagem de Programação III Herança

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Programação Orientada a Objetos C++

Técnicas de Programação II

Novas Funcionalidades no PHP 5.3 Douglas V. Pasqua Zend Certified Enginner

Programação Web Prof. Wladimir

Programação com Acesso a BD. Programação com OO Acesso em Java

QUESTÕES DE LINGUAGEM DE PROGRAMAÇÃO PHP. 1) Assinale a alternativa que representa tipos de variáveis escalares em PHP:

PHP: Programando com Orientação a Objetos

Orientação a Objetos com Java

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

PHP 5. Orientado a Objetos

Instalando o MySQL 5.6 no Windows

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS

PHP e MySQL. Programação de Servidores Marx Gomes Van der Linden.

Armazenamento organizado facilitando SCRUD; Agiliza processo de desenvolvimento de sistemas;

Programação Orientada a Objetos. Encapsulamento

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL.

Programação Orientada a Objetos II

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Factory Method. Edeyson Andrade Gomes

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Programação Orientada a Objeto

Padrão Básico de Projeto: Interfaces e Polimorfismo

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Análise e Projeto Orientados por Objetos

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Consulta de endereço através do Cep

Computação II Orientação a Objetos

Programação Orientada a Objetos em Java. Herança

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013

LINGUAGEM DE PROGRAMAÇÃO WEB

Programação por Objectos. Java

Programação por Objectos. Java

Implementando uma Classe e Criando Objetos a partir dela

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Universidade Federal de Viçosa CPD - Central de Processamento de Dados Divisão de Desenvolvimento de Sistemas

MANUAL DE PADRONIZAÇÃO DE CODIFICAÇÃO PHP CODING STANDARDS

Java 2 Standard Edition Como criar classes e objetos

PHP Programando com Orientação a Objetos

Herança. Prof. Andrea Garcia PROW II

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

MANUAL DE PADRONIZAÇÃO DE CODIFICAÇÃO PHP CODING STANDARDS

Minicurso PHP 5. Vinícius Costa de Souza. Julho de

Implementando Laravel

Capítulo 4. Packages e interfaces

Interagindo com Banco de Dados

Design Patterns (Factory Method, Prototype, Singleton)

PHP (Seções, Cookies e Banco de Dados)

2. O gerador de código estende DepthFirstAdapter implementando a interpretação que gerará código Jasmin a partir de Smallpascal.

QUESTÃO 4 QUESTÃO 3 QUESTÃO 6 QUESTÃO 5. O código a seguir imprimirá Resultado = 33. <?php $var = 3; echo Resultado =. ($var + 3);?

Classes, Superclasses e Subclasses

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Programação aplicada de computadores Andréa Maria Pedrosa Valli

Padrões de Projeto. Singleton

Revisão OO Básico. Orientação a Objetos em Java

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Orientação a Objetos com Java

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Encapsulamento de Dados

SUMÁRIO Por onde começar? Introdução...

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos

Guia de Fatores de Qualidade de OO e Java

Transcrição:

Conceitos de OO AUTOLOAD function autoload($class_name) require_once $class_name. '.php'; $obj = new MyClass1(); $obj2 = new MyClass2(); HERANÇA SIMPLES class SimpleClass // declaração de atributo public $var = 'um valor padrão'; // declaração de método public function displayvar() echo $this->var; class ExtendClass extends SimpleClass // Redefine o método pai (SOBRECARGA) function displayvar() echo "Classe Herdeira\n"; parent::displayvar(); $extended = new ExtendClass(); $extended->displayvar(); OPERADOR DE RESOLUÇÃO DE ESCOPO class MinhaClasse protected function minhafuncao() echo "MinhaClasse::minhaFuncao()\n";

class OutraClasse extends MinhaClasse /* Sobrecarrega a definição do pai */ public function minhafuncao() /* Mas ainda chama a função pai */ parent::minhafuncao(); echo "OutraClasse::minhaFuncao()\n"; $classe = new OutraClasse(); $classe->minhafuncao(); INTERFACE // Declara a interface 'itemplate' interface itemplate public function setvariable($name, $var); public function gethtml($template); // Implementa a interface // Isso funcionará class Template implements itemplate private $vars = array(); public function setvariable($name, $var) $this->vars[$name] = $var; public function gethtml($template) foreach($this->vars as $name => $value) $template = str_replace(''. $name. '', $value, $template); return $template; FACTORY IBanco.php:

Interface IBanco ; BancoMysql.php: class BancoMysql() implements IBanco return new PDO('mysql:host=localhost;dbname=banco','root',''); BancoPostgres.php: class BancoPostgres() implements IBanco return new PDO('pgsql:host=localhost port=5432 dbname=banco user=username password=senha '); BancoOracle.php: class BancoOracle() implements IBanco return new PDO( OCI:dbname=accounts;charset=UTF-8, username, senha ); Vejamos então a implementação desta classe: include_once BancoMysql.php ; include_once BancoPostgres.php ; include_once BancoOracle.php ;

class BancoFactory public function factory($banco) switch ($banco) case mysql : case postgres : case oracle : Na classe acima, de acordo com o parâmetro passado, é retornada uma instância de sua classe respectiva e se um dia houver uma mudança qualquer, por exemplo no nome da classe, você só precisará mudar em um lugar, na classe Factory. Agora vamos executar esta classe: include_once BancoFactory.php ; $bancofactory = new BancoFactory(); // Criando instância da classe BancoMysql $connmysql = $bancofactory->factory( mysql ); print_r($connmysql->connect()); // Criando instância da classe BancoPostgres $connpostgres = $bancofactory->factory( postgres ); print_r($connpostgres->connect()); // Criando instância da classe BancoOracle $connoracle = $bancofactory->factory( oracle ); print_r($connoracle->connect()); SINGLETON class Exemplo // Guarda uma instância da classe static private $instance;

// Um construtor privado private function construct() $link = mysql_connect('localhost', 'root', ''); if (!$link) die('não foi possível conectar: '. mysql_error()."<br><br>"); echo '<br><br>conexão bem sucedida.<br><br>'; $db_selected = mysql_select_db('teste', $link); if (!$db_selected) die ('Não foi possível selecionar : '. mysql_error()); // O método singleton static public function singleton() if (!isset(self::$instance)) $c = CLASS ; // retorna o nome da classe self::$instance = new $c; return self::$instance; // Método exemplo public function consultar($sql) $result = mysql_query($sql); if (!$result) die('<br><br>consulta Inválida: '. mysql_error()); // Isso sempre vai recuperar uma instância da classe echo "objeto1: "; $test = Exemplo::singleton(); $test->consultar('select * from clientes'); echo "<br>objeto2: "; $test2 = Exemplo::singleton(); $test2->consultar('select * from pedidos'); echo $test." ".$test2;