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

Ao instanciar um objeto, dois são criado e um deles está nulo.

Estou cursando a primeira parte de orientação a objetos e ao instanciar um objeto, dois são criados e um deles fica totalmente nullo. object(ContaCorrente)#1 (8) { ["titular"]=> NULL ["agencia"]=> NULL ["conta"]=> NULL ["saldo"]=> NULL ["Gustavo"]=> string(7) "Gustavo" ["394"]=> int(394) ["6844879"]=> int(6844879) ["1000"]=> float(1000) }

Saberiam me dizero motivo? Pelo o que vi, o meu código está igual ao do Professor.

Classe ContaCorrente

<?php

class ContaCorrente{

    public $titular;
    public $agencia;
    public $conta;
    public $saldo;

    //Construtor da classe
    public function __construct($titular, $agencia, $conta, $saldo){
        $this->$titular = $titular;
        $this->$agencia = $agencia;
        $this->$conta = $conta;
        $this->$saldo = $saldo;
    }
}

Index

<?php

require "ContaCorrente.php";

$contaJoao = new ContaCorrente("Gustavo", 0612, 6844879, 1000.00);

var_dump($contaJoao);

Obrigado!

1 resposta
solução!

Achei o erro!

Eu estava apontando para novas variáveis no construtor, agora o código está assim:

<?php

class ContaCorrente{

    public $titular;
    public $agencia;
    public $conta;
    public $saldo;

    //Construtor da classe
    public function __construct($titular, $agencia, $conta, $saldo){
        $this->titular = $titular;
        $this->agencia = $agencia;
        $this->conta = $conta;
        $this->saldo = $saldo;
    }
}

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