A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.

Apresentações semelhantes


Apresentação em tema: "Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1."— Transcrição da apresentação:

1 Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1

2 Sumário Abstração; Polimorfismo; Interfaces. Prof.: Sergio Pacheco 2 2

3 Abstração São classes que nunca serão instanciadas na forma de objetos, somente suas classes filhas serão; Para dizermos que uma classe é abstrata basta informarmos a palavra chave abstract. Prof.: Sergio Pacheco 3 3

4 Abstração <?php abstract class Cheque { private $valor;
public function setValor( $valor ) { $this->valor = $valor; } public function getValor() { return $this->valor; public function calculaJuros() { } class ChequeComum extends Cheque { public function calculaJuros() { return $this->valor * 1.25; // calcula 25% em cima do valor; } } class ChequeEspecial extends Cheque { public function calculaJuros() { return $this->valor * 1.10; // calcula 10% em cima do valor; } } /* * Tentando instanciar a classe Cheque. * Isto vai causar um Fatal Error, pois ela é abstrata e não pode ser instanciada. */ $cheque = new Cheque(); ?> Prof.: Sergio Pacheco 4 4

5 Abstração class ChequeComum extends Cheque {
public function calculaJuros() { return $this->valor * 1.25; // calcula 25% em cima do valor; } class ChequeEspecial extends Cheque { return $this->valor * 1.10; // calcula 10% em cima do valor; /* * Tentando instanciar a classe Cheque. * Isto vai causar um Fatal Error, pois ela é abstrata e não pode ser instanciada. */ $cheque = new Cheque(); ?> Prof.: Sergio Pacheco 5 5

6 Métodos Abstração Assim como classes, os métodos abstratos também são criados apenas para estruturação das classes filhas. Às vezes queremos que as classes derivadas de uma classe pai tenham obrigatoriamente um método específico, para garantir que não haja conflito em outros métodos que dependem desse primeiro; Quando se usa métodos abstratos, faz com que as classes filhas implementes esses métodos. Prof.: Sergio Pacheco 6 6

7 Métodos Abstratos <?php
abstract class Cheque { // outros métodos abstract function calculaJuros(); } class ChequeContaUniversitaria extends Cheque { /** * Esta classe não precisa de calculo de juros. * Mas se este método não for definido o PHP dispara um Fatal Error, * pois na classe pai esse método está como abstrato. */ public function calculaJuros() { return $this->valor; // não há juros; ?> Prof.: Sergio Pacheco 7 7

8 Interfaces Interfaces de Objetos permite a criação de código que especifica quais métodos e variáveis uma classe deve implementar, sem ter que definir como esses métodos serão tratados; Interfaces são definidas usando a palavra-chave 'interface', da mesma maneira que uma classe comum, mas sem nenhum dos métodos ter seu conteúdo definido; Todos os métodos declarados em uma interface devem ser public, essa é a natureza de uma interface. Prof.: Sergio Pacheco 8 8

9 Interface Precisa obrigatoriamente implementar todos os seus métodos
// Declara a interface ‘seila' interface seila{ public function setVariable($name, $var); public function getHtml($template); } // Implementa a interface // Isso funcionará class Template implements seila{ 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; Precisa obrigatoriamente implementar todos os seus métodos Prof.: Sergio Pacheco 9 9

10 Exercício Prof.: Sergio Pacheco 10 10

11 Ótimo Final de semana a Todos!
Bom Final de Semana - Sucesso Ótimo Final de semana a Todos! Deus abençoe! Refenciar a contrucao de um bolo de aniversario Prof.: Sergio Pacheco 11 11


Carregar ppt "Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1."

Apresentações semelhantes


Anúncios Google