78
Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de Arquivos,Sessões, Upload e Conceitos de Orientação à Objetos http://www1.univap.br/~wagner Prof. Responsável Wagner Santos C. de Jesus 1

Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Embed Size (px)

Citation preview

Page 1: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira FernandesDisciplina Ferramenta de Desenvolvimento

Material IV-Bimestre

Tratamento de Arquivos,Sessões, Upload e Conceitos de Orientação à

Objetoshttp://www1.univap.br/~wagner

Prof. Responsável

Wagner Santos C. de Jesus1

Page 2: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Conceito de Sessão

2

Page 3: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Sessão

Sessão significa reunião ou intervalo de tempo que dura uma atividade específica.

3

Page 4: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Sessão

Vem a ser uma forma de armazenar dados através da respectiva gravação, controlada pelo sistema, de um arquivo no servidor. O ato de gravar um arquivo de sessão é chamado de registrar na sessão.

4

Page 5: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Curva de duração de uma sessãox = -t2 onde t[-1≤ t ≤0]

5

Page 6: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Funcionamento de uma sessão

6

Pagina1.php

Session

Pagina2.php

$lista =1

$lista =1

Servidor

Memória

Page 7: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Algoritmo de uma sessão

7

Nome_Sessão

Criação_Sessão

Armazena_DadosSessão

Page 8: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Criação, Manipulação e encerramento de sessões

8

Page 9: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Função session_name()

Cria o nome de uma sessão para identificação de dados que serão armazenado na sessão.

Sintaxe:

session_name(<String>);

9

Page 10: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Funções session_start()

Cria uma nova sessão reservando um espaço de memória para criação dos dados da mesma.

Sintaxe:

session_start();

10

Page 11: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

$_SESSION[] – Armazena dados na sessão

Grava dados a serem armazenados em uma sessão. Permitindo realizar alocação para um determinado dado.

Sintaxe:

$_SESSION[<String>];

11

Page 12: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo $_SESSION[]

O Array section permite o armazenamento dos dados no servidor.

Exemplo:

$_SESSION[‘login’] = ‘claudia’;

$_SESSION[‘senha’] = ‘7&m698’;

12

Page 13: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Encerramento

de uma sessão

13

Page 14: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

session_unset()

Libera as variáveis de memória de uma sessão.

Sintaxe:

session_unset()

14

Page 15: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

session_destroy()

Apaga uma sessão criada em uma página.

Sintaxe:

session_destroy();

15

Page 16: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo Prático de criação de sessão

<?php

session_start();

echo 'Bem vindo página 1';

$_SESSION['login'] = 'Roberta';

$_SESSION['senha'] = '7$9088';

echo '<br /><a href="sessao2.php">page 2</a>';

?>

16

Page 17: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Captura de dados da sessão

<?php

session_start();

echo 'Bem vindo página 2 <br>';

echo $_SESSION['login']."<br>";

echo $_SESSION['senha'];

?>

17

Page 18: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Tratamento de Exceção

18

Page 19: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Conceito de Exceção

O tratamento de exceção, na ciência da computação, é o mecanismo responsável pelo tratamento da ocorrência de condições que alteram o fluxo normal da execução de programas de computadores.

19

Page 20: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Funcionamento

Em geral, na ocorrência de uma exceção, o estado do programa é gravado em um local pré-definido e a sua execução é direcionada para uma rotina de tratamento. Dependendo da situação, a rotina de tratamento pode prosseguir a execução a partir do ponto que originou a exceção, utilizando a informação gravada para restaurar o estado.

20

Page 21: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Comportamento de Exceção

21

Fluxo Natural

Exceção Fluxo Exceção

Fluxo Natural

S

N

Fim

Page 22: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Comando de try{} (Tentar)

Cria um bloco de modelo de exceção e realiza a tentativa de execução até o final caso o processo seja totalmente executado então o programa na mudará de fluxo se algo não se comportar de maneira satisfatória o programa irá desviar o fluxo.

22

Page 23: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Funcionamento de try{} catch{}

23

try Algoritmo

catch

Finalização

Page 24: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Sintaxe try{}(Tentar) catch (Pegar)

try {

<Instruções_php>

} catch(<tipo_de_exceção>) {

<Instruções_php_exceção>

}24

Page 25: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Tratamento direto

<?php

try {

$x = 1/0;

echo $x;

} catch (Exception $e) {

echo 'Erro: Divisão por Zero !!! \n';

}

?>25

Tratamento pelo próprio interpretador sem envio da exceção.

Page 26: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

trow{} – Lançar

Lança uma exceção para entrar em estado de alerta e vai ver se o método atual toma alguma precaução ao tentar executar esse trecho de código.

26

Page 27: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo de trow{}<?php

function inverse($x) {

if (!$x) {

throw new Exception('Divisão por zero.');

}

return 1/$x;

}

try {

inverse(5);

inverse(0);

} catch (Exception $e) {

echo 'Erro: ', $e->getMessage(), "\n";

} 27

Page 28: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Manipulação de Arquivo de Dados

28

Page 29: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Arquivo de Dados

Muitas informações precisam ler e escrever informações de um dispositivo de memória auxiliar. Essas informações são armazenadas no dispositivo na forma de um arquivo de dados. Os arquivos de dados nos permitem armazenar informações permanentemente e acessar e alterar essas informações sempre que necessário.

29

Page 30: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Usando Streams.

A manipulação de arquivo normalmente é feita por intermédio de um recurso do sistema operacional denominado Stream (que vem a ser cadeia de caracteres ou bytes).

Normalmente em C manipulamos arquivos de texto que são arquivo não formatados ou seja esse tipo de manipulação deve ser feita inteiramente por intermédio do programador que desenvolve a aplicação procedimento que da origem ao que chamamos de estrutura de banco de dados que são complexas e demando conhecimentos matemáticos de relacionamento intercessão.

30

Page 31: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Criando um arquivo de dados do tipo texto.

Para se trabalhar com um arquivo de dados do tipo texto, o primeiro passo é estabelecer um buffer, onde as informações são armazenadas temporariamente durante a transferencia entre memória e computador (Dispositivo de gravação).

31

Page 32: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

32

EOF

Page 33: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Criando um Buffer.

Para se criar um buffer é necessário usar uma variável que é um tipo de estrutura especial que estabelece o buffer. Para dar nome ao buffer atribui-se a estrutura do arquivo ao próprio.

33

Page 34: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Abrindo e criando um arquivo - fopen()

• fopen() : Para se manipular um arquivo é preciso cria-lo para poder usar o recurso de leitura, e gravação. A função fopen retorna um ponteiro para o início do buffer associado ao arquivo. Um valor false é retornado quando o arquivo de dados não puder ser encontrado.

34

Page 35: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Sintaxe : <buffer> = fopen(<nome-arquivo>, <tipo-abertura>);

35

Page 36: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo :

$pt = fopen("c:/diretorio/teste.txt","r+");

Obs :

Este exemplo abre um arquivo já existente

para leitura e gravação.

36

Page 37: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Escrevendo dados em um Arquivo - fprintf()

Para gravar uma informação em um arquivo

usamos a função fprintf(), que permite escrever

um dado no buffer.

Sintaxe:

fprintf(<buffer>,<cadeia_Caracteres);

Obs : A cadeia de ser sempre do tipo char.

37

Page 38: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo :

fprintf($pt,“Aula de php");

38

Page 39: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Fechando um arquivo de dados - fclose()

Para se fechar um arquivo usamos a função fclose(), que permite remover todos os dados do buffer para o disco.

Sintaxe :

fclose(<nome_buffer>);

Exemplo :

fclose($pt); 39

Page 40: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo de um programa para escrever um dado no arquivo.

$fp = fopen("teste.txt",“w");

fprintf($fp,”Aula do IV Bimestre \r\n");

fclose($fp);

40

A expressão \r\n - Determinam <enter>. Marcador de fim de linha.

Page 41: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Leitura de um arquivo de dados - fgets(), feof().

Permite realizar a leitura de um ou mais registros em arquivo cada vez que fgets() é acionado desloca o ponteiro para o próximo registro até encontrar o final do arquivo. Que é indicado pela função feof(), que retorna verdadeiro caso o final do arquivo seja encontrado.

Sintaxe :

fgets(<Buffer>,<comprimento_bytes>);

feof(<Buffer>);

41

Page 42: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo leitura de arquivo<?php

$arquivo = fopen("teste.txt","r");

if(!$arquivo) {

echo "Arquivo não pode ser aberto !!";

}else {

while(!feof($arquivo)){

$linha = fgets($arquivo);

echo $linha."<br>";

}

}

fclose($arquivo);

?>42

Page 43: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Conceitos e Aplicações de Download e Upload

43

Page 44: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Download

 Termo utilizado para referenciar a obtenção de dados de um dispositivo através de um canal de comunicação.

44

Page 45: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Funcionamento Download

45

Page 46: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Upload

Carregamento é a transferência de dados de um computador local para outro computador ou para um servidor. Caso ambos estejam em rede, pode-se usar um servidor de FTP, HTTP ou qualquer outro protocolo que permita a transferência.

46

Page 47: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Upload

47

Page 48: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Transferência de Dados Cliente/Servidor

48

Page 49: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Envio de Arquivo (Cliente)

49

Dados Arquivo

multipart/form-data

File

submit

Servidor

submit

Cliente

Page 50: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Cliente (Envio de arquivo)

<?php

echo "<form name=form method=post action=upload.php enctype=multipart/form-data>";

echo " Escolha Arquivo: <input type=file name=Arquivo size=60 />";

echo "<Input type=submit value=Enviar>";

echo "</form>";

?>

50

Page 51: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Tratamento no Servidor

51

Servidor

tmp (Temporário)

File

Name (Real)

copy(temporario,real)

Page 52: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

copy(): Escrever no servidor.

Sintaxe:

copy(<nome_lógico>,<nome_fisico>)

Exemplo:

copy(<tmp>,<name>);

52

Page 53: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo prático tratamento no servidor

<?php

$nome_temporario = $_FILES["Arquivo"]["tmp_name"];

$arq = $_FILES["Arquivo"]["name"];

$x = strrchr($arq,"pdf");

if(empty($x))

{

echo "<script>alert('Arquivo Inválido formato (pdf) !!')</script>";

}else {

$nome_real= “Caminho".$_FILES["Arquivo"]["name"];

$result = copy($nome_temporario,$nome_real);

}

?>

53

Page 54: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Conceitos e Aplicações de Orientação à Objetos

Usando PHP (POO)

54

Page 55: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Classe

Vem a ser uma estrutura de dados criada para dar origem ou modelar um objeto.

Carro

Propriedades

Marcha

Freio

Embreagem

Motor

Page 56: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Método :

Método vem a ser um grupo de instruções em uma classe que define como os objetos da classe se comportarão. Os métodos são análogos às funções em outras linguagens.

Page 57: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Método da classe carro

Devem ser descritos com uma ação (verbo) que podem controlar o estado do objeto.

Exemplo :

Mudar_Marcha(estado_marcha)

Marcha = estado_marcha{0,1,2,3,4....}

Freiar_carro(estado_freio)

Freio = estado_freio{true,false}

Page 58: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Estrutura de uma classe

Carro

Propriedades

Marcha

Freio

Embreagem

Motor

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

Page 59: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Objetos

É uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.

Page 60: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo de objeto

Carro obj_carro1 = Carro ()

Carro obj_carro2 = Carro ()

obj_carro1.Freiar_carro(true)

obj_carro1.Mudar_Marcha(3)

obj_carro2.Freiar_carro(false)

Page 61: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Herança

Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada de relação "é um". Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero.

Page 62: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Estrutura de Herança

Veiculo

Propriedades

Marcha

Freio

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

Page 63: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo: Herança

Carro

Veiculo

Moto Bicicleta

Page 64: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Polimorfismo

Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga de métodos.

Page 65: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo: Polimorfismo

Carro

Métodos

Mudar_Marcha(..)

Freiar_Carro(..)

VeiculoHerda

Page 66: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Polimorfismo

Podem haver implementações diferentes para o mesmo método.

Cachorro

Animal

Gato Cavalo

Barulho()

Barulho()

Latir

Barulho()

Miar

Barulho()

Relinchar

Page 67: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Aplicação Básica POO

67

Page 68: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Estrutura de classe

class Nome_classe {

...<métodos>

}

68

Page 69: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo de Classe

class exempc0 {

public function imprime(){

echo "Imprimindo Dados..";

}

}

69

Page 70: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Criação de um objeto

Operador new:

Exemplo:

$obj = new exempc0();

70

Page 71: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo Completo

class exempc0 {

public function imprime(){

echo "Imprimindo Dados..";

}

}

$obj = new exempc0();

$obj->imprime();71

Page 72: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Aplicação das Propriedades

72

Page 73: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo Propriedades

class exempcl {

public $var1 = 1;

public $var2 = 2;

public function imprime(){

echo $this->var1;

}

}

$obj = new exempcl();

$obj->imprime();

73

Page 74: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Aplicação de Herança

74

Page 75: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo de herança

class Calcsub {

public function subtracao($a,$b){

echo $a-$b."<br>";

}

}

class Calcsoma extends Calcsub {

public function soma($a,$b){

echo $a+$b."<br>";

}

}

75

Page 76: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Utlização do

$obj = new Calcsoma();

$obj->subtracao(9,4);

$obj->soma(9,4);

76

Page 77: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Aplicação de Polimorfismo

77

Page 78: Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina Ferramenta de Desenvolvimento Material IV-Bimestre Tratamento de

Exemplo de Polimorfismo class Calcsub {

public function subtracao($a,$b){

echo $a-$b."<br>";

}

}

class Calcsoma extends Calcsub {

function soma($a,$b){

echo $a+$b."<br>";

}

function chamada(){

echo $this->subtracao(4,3);

}

}78