Segue o código da classe mãe e classe filha (respectivamente):
*Classe mãe: *
class Pessoa extends Endereco{
//Atributos
protected $cpf;
protected $nome;
protected $idade;
protected $sexo;
//MÉTODOS
//Construtor
public function __construct($cpf, $nome, $idade, $sexo){
$this->cpf = $cpf;
$this->validaCPF();
$this->nome = $nome;
$this->validaNome();
$this->idade = $idade;
$this->validaIdade();
$this->sexo = $sexo;
//Ao passar por todas as validações
echo "Cadastro Efetuado com sucesso!!!";
//Chama funão que informa tudo sobre essa pessoa
$this->mostrarInfo();
}
//Recupera Nome
public function getNome(){
return $this->nome;
}
//Recupera Idade
public function getIdade(){
return $this->idade;
}
//Recupera Sexo
public function getSexo(){
return $this->sexo;
}
//Valida CPF da pessoa
public function validaCPF(){
if(strlen($this->cpf) < 14){
echo "Número do CPF está incompleto";
exit();
}
else if(strlen($this->cpf) >= 15){
echo "Números demais no CPF informado.";
exit();
}
}
//Validar Nome da Pessoa
public function validaNome(){
if(strlen($this->nome) <= 4){
echo "Nome incompleto ou curto demais. Informe o nome completo;";
exit();
}
}
//Valida Idade
public function validaIdade(){
if($this->idade < 3){
echo "Não é possivel cadastras pessoas com menos de 3 (três anos).";
exit();
}
else if($this->idade > 120){
echo "Tem certeza que esta pessoa tem <b>$this->idade</b>?";
exit;
}
}
//Mostrar Informações
public function mostrarInfo(){
echo "<br>";
echo "Olá! Este é o: $this->nome, $this->sexo. Ele tem $this->idade, inscrito(a) no CPF sob o número $this->cpf.";
}
//Recupera cidade
public function recuperaCidade(){
return $this->Endereco->getCidade();
}
}
Classe filha:
<?php
require_once 'Pessoa.php';
require_once 'Endereco.php';
class aluno extends Pessoa{
//Atributos
private $codMatricula;
private $escola;
//
public function __construct($codMatricula, $escola){
parent:: __construct($cpf, $nome, $idade, $sexo);
$this->codMatricula = $codMatricula;
$this->escola = $escola;
$this->cpf = $cpf;
$this->nome = $nome;
$this->idade = $idade;
$this->sexo = $sexo;
echo "Aluno cadastrado com sucesso!";
}
//Set Codigo da matricula
public function setCodMatricula($codMatricula){
$this->codMatricula = $codMatricula;
}
//GET codsig matricula
public function getCodMatricula(){
return $this->codMatricula;
}
}
A minha duvida é a seguinte: ao criar um objeto Aluno eu sei onde devo informar o codMatricula e escola, mas não sei onde devo informar os atributos da classe mãe (Pessoa)? Segue o código abaixo:
<?php
//require_once 'Pessoa.php';
require_once 'Endereco.php';
require_once 'Aluno.php';
$aluno1 = new Aluno("01451115", "Cosme Alves Barbosa");
var_dump($aluno1);
Ao criar o objeto $aluno1 surge a seguinte mensagem de erro: