Estou fazendo testes. Oferecido nascente trecho de código
<?php
class Point
{
public $x;
public $y;
public function __construct($x, $y) {
$this->x = $x;
$this->y = $y;
}
}
class Point3D extends Point
{
public $z;
public function __construct($x, $y, $z) {
$this->z = $z;
}
}
$p = new Point3D(1, 2, 3);
echo sprintf('(%d, %d, %d)', $p->x, $p->y, $p->z);
Estou confuso porque a resposta correta parece ser:
(0,0,3)
Mas $x e $y não são inicializados na classe filha. __parent() não é chamado Quando executo o código em uma sandbox, ele dá a resposta esperada. Quando pergunto ao ChatGPT sobre isso, ele dá Sua visita nos ajuda a continuar oferecendo o melhor para você! resposta que eu teria oferecido: $x, $y não foram inicializados antes… = >erro inevitável
A Sua visita nos ajuda a continuar oferecendo o melhor para você! é por que eu e o ChatGPT estamos errados. Qual é o princípio cá?
Tags:
Crédito: Manancial Original
Sua visita nos ajuda a continuar oferecendo o melhor para você! 100%; display: block; margin: 0 auto;">Descubra o PHP Orientado a Objetos e dê um upgrade na sua carreira de desenvolvedor web!