nome do arquivo (conta.php)
insira seu código aqui
<?php
class conta{
private $titular;
private $saldo = 0;
public function __construct(titular $titular){
$this->titular = $titular;
}
//Opereções
public function depositar(float $valor){
if($valor < 0){
echo 'valor invalido';
exit();
}
$this->saldo += $valor;
}
public function sacar(float $valor){
if($valor < 0 || $valor > $this->saldo){
echo 'valor invalido';
exit();
}
$this->saldo -= $valor;
}
public function transferir(conta $conta, float $valor){
if($valor > $this->saldo || $valor < 0){
echo 'valor invalido';
exit();
}
$this->sacar($valor);
$conta->depositar($valor);
}
//mostrar valores
//saldo
public function mostrarSaldo(){
return $this->saldo;
}
//cpf
public function mostrarCpf(){
return $this->titular->mostrarCpf();
}
//endereco
public function mostrarCidade(){
return $this->titular->mostrarCidade();
}
public function mostrarBairro(){
return $this->titular->mostrarBairro();
}
public function mostrarRua(){
return $this->titular->mostrarRua();
}
public function mostrarNumero(){
return $this->titular->mostrarNumero();
}
//pessoa
public function mostrarNome(){
return $this->titular->mostrarNome();
}
public function mostrarIdade(){
return $this->titular->mostrarIdade();
}
}
?>
nome do arquivo (titular.php)
<?php
class titular{
private $pessoa;
public function __construct(pessoa $pessoa){
$this->pessoa = $pessoa;
}
//cpf
public function mostrarCpf(){
return $this->pessoa->mostrarCpf();
}
//pessoa
public function mostrarNome(){
return $this->pessoa->mostrarNome();
}
public function mostrarIdade(){
return $this->pessoa->mostrarIdade();
}
//endereco
public function mostrarCidade(){
return $this->pessoa->mostrarCidade();
}
public function mostrarBairro(){
return $this->pessoa->mostrarBairro();
}
public function mostrarRua(){
return $this->pessoa->mostrarRua();
}
public function mostrarNumero(){
return $this->pessoa->mostrarNumero();
}
}
?>
nome do arquivo(cpf.php)
<?php
class cpf{
private $cpf;
public function __construct(string $cpf){
if(strlen($cpf) != 14){
echo 'cpf invalido';
exit();
}
$this->cpf = $cpf;
}
public function mostrarCpf(){
return $this->cpf;
}
}
?>
nome do arquivo(endereco.php)
<?php
class endereco{
private $cidade;
private $bairro;
private $rua;
private $numero;
public function __construct(string $cidade, string $bairro, string $rua, string $numero){
$this->cidade = $cidade;
$this->bairro = $bairro;
$this->rua = $rua;
$this->numero = $numero;
}
public function mostrarCidade(){
return $this->cidade;
}
public function mostrarBairro(){
return $this->bairro;
}
public function mostrarRua(){
return $this->rua;
}
public function mostrarNumero(){
return $this->numero;
}
}
?>
nome do arquivo(pessoa.php)
<?php
class pessoa{
private $nome;
private $idade;
private $endereco;
private $cpf;
public function __construct(string $nome, float $idade,endereco $endereco, cpf $cpf){
$this->nome = $nome;
$this->idade = $idade;
parent::__construct($endereco, $cpf);
}
public function mostrarNome(){
return $this->nome;
}
public function mostrarIdade(){
return $this->idade;
}
//cpf
public function mostrarCpf(){
return $this->cpf->mostrarCpf();
}
//endereco
public function mostrarCidade(){
return $this->endereco->mostrarCidade();
}
Não consigo enviar mais códigos, mas só falta o arquivo de gerar dados.