Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

IDe PHP Storms

O que vi acontecer no exemplo que irei passar talvez ocorra em outros Ides segue código:

Classe conta:

<?php
class conta
{

    public $agencia;
    public $codigo;
    public $dataCriacao;
    public $titular;
    public $senha;
    public $saldo;
    public $cancelada;

    function __construct($agencia,$codigo,$dataCriacao,$titular,$senha,$saldo,$cancelada)
    {
        $this->agencia = $agencia;
        $this->codigo = $codigo;
        $this->dataCriacao = $dataCriacao;
        $this->titular=$titular;
        $this->senha=$senha;
        $this->depositar($saldo);
        $this->cancelada =false;

    }

    /*
     * Método Retirar Saldo em quantia
     */
    public function retirar($quantia)
    {

        if ($quantia > 0) {
            $this->saldo -= $quantia;
        }
    }

    /*
    * Método depositar
    */

    public function depositar($quantia)
    {
        if ($quantia > 0) {
            $this->saldo += $quantia;
        }
    }

    /*
     * Obter Saldo
     */

    public function obterSaldo()
    {
        return $this->saldo;
    }

}

Classe contaPoupanca:

<?php


class contaPoupanca extends conta
{
    public $aniversario;

    function __construct($agencia, $codigo, $dataCriacao, $titular, $senha, $saldo, $cancelada, $aniversario)
    {
        parent::__construct($agencia, $codigo, $dataCriacao, $titular, $senha, $saldo, $cancelada);
        $this->aniversario = $aniversario;
    }

    function retirar($quantia)

    {
        if ($this->saldo >= $quantia) {
            parent::retirar($quantia); // TODO: Change the autogenerated stub
        } else {
            echo "retirada Não permitida";
               }
            return true;
    }
}

Classe contaCorrente:

<?php

class contaCorrente extends conta
{

    public $limite;

    function __construct($agencia, $codigo, $dataCriacao, $titular, $senha, $saldo, $cancelada,$limite)
    {
        parent::__construct($agencia, $codigo, $dataCriacao, $titular, $senha, $saldo, $cancelada);
        $this->limite = $limite;
    }


    function retirar($quantia)
{
    $cpmf = 0.05;

    if($this->saldo + $this->limite>= $quantia){
    parent::retirar($quantia); // TODO: Change the autogenerated stub
    parent::retirar($quantia *$cpmf);
  }else{
        echo "Retirada não permitida";
    }
    return true;
}
}

Objeto:

<?php
include 'classes/conta.php';
include 'classes/contaPoupanca.php';
include 'classes/contaCorrente.php';


$contaAnderson = new conta('12321','2121','01/11/2019','Anderson Santos','A1.camila321',
    '2000','false');

$contaAndersonPoupanca = new contaPoupanca('1221','2121','01/11/2019','Anderson Santoz',
    'A1.camila321','2000','false','01/11/2019');


$corrente = new contaCorrente('');

O detalhe é o seguinte quando criei objetos para as Classes "conta e contaPoupança", minha Ide de forma fantástica já puxa as propriedades automáticamente, porém quando vou instanciar o Objeto corrente da classe contaCorrente, a Ide não puxa de maneira nenhuma as propriedades, e como pode ser observado a classe contaCorrente está corretamente exetendo da Classe Mãe conta, não sei onde não estou vendo o problema.

1 resposta
solução!

É, não dá pra saber.

Algo que eu chuto é que a IDE confia que você segue os padrões de prática de código, o que não está acontecendo, por exemplo: nome de classe é sempre iniciado com letra maiúscula: Conta, ContaCorrente, ContaPoupanca.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software