Ir ao conteúdo
  • Cadastre-se

Polimorfismo poo.


Posts recomendados

Algum ser inteligente que começa "D" pra mim ajudar ?

 

Estou vendo o Polimorfismo do POO, e ta de boa por enquanto só não entendi uma parte do código.

 

a parte  {$Cheque->TipoCheque()} para que seria as Chaves "{}"? 

 

 

 

<?php 
  require_once("ChequeEspecial.class.php");

  // Criação dos cheques
  $Cheques[1] = new Cheque(380.00);
  $Cheques[2] = new ChequeEspecial(600.00);
  $Cheques[3] = new Cheque(230.00);

  // Percorrendo os Cheques
  foreach ( $Cheques as $key => $Cheque )
  {

      echo "Cheque $key ( {$Cheque->TipoCheque()} )
      com juros: R$ {$Cheque->CalcularJuros()} ";

  }

 ?>

 

 

ChequeEspecial.class.php

<?php 

class Cheque{
 
  public $Valor;
 
  /* Método Construtor
  * Recebe o parâmetro $Valor.
  */

  function __construct($Valor){
    $this->Valor = $Valor;
  }
 
  /* Método CalcularJuros()
  * Calcula os Juros, neste caso 20%
  */
 
  function CalcularJuros(){
    return $this->Valor * 1.20;
  }
 
  /* Método TipoCheque()
  * Retorna o tipo do Cheque
  */

  function TipoCheque(){
    return "Comum";
  }
}

 /* Perceba a herança acontecendo
 * definida pela palavra extends
 */
class ChequeEspecial extends Cheque{
 
  /* Método CalcularJuros() - Opa!! Mas esse método já não tinha sido
  * implementado na classe anterior? Sim, está aí o polimorfismo.
  * O juros do Cheque especial é 10%, não 20 como o anterior
  */
 
  function CalcularJuros(){
    //Perceba que herdamos a propriedade Valor da classe pai
    return $this->Valor * 1.10;
  }
 
  /* Método TipoCheque() - Também Sobrescrito
  * uso explicito do polimorfismo
  */
  function TipoCheque(){
    return "Especial";
  }
}

 

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, Math.Pi disse:

@FabianoS

Pelo que vi nesse link abaixo, serve para não precisar ficar concatenando a variável no echo.

http://forum.imasters.com.br/topic/401409-resolvido-quando-usar-variavel-entre-chaves/

 

É man só que não sabia que não da pra chamar um método de uma class dentro de um echo. pois quando tirava as chaves dava erro, e só funcionava sem elas, se concatenasse. 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...