La clase debería ser así (es recomendable tener una segunda clase):
Código PHP:
class contacto {
private $nombre;
private $apellido;
private $telefono;
function __construct($nombre, $apellido, $telefono)
{
$this->nombre = $nombre;
$this->apellido = $apellido;
$this->telefono = $telefono;
}
function mostrar()
{
echo $this->nombre." - ".$this->apellido." - ".$this->telefono;
}
}
class agenda{
private $contactos;
function __construct()
{
$this->contactos = array();
}
function add($nombre, $apellido, $telefono)
{
$this->contactos[count($this->contactos)] = new contacto($nombre, $apellido, $telefono);
}
function listar_contactos()
{
foreach($contacto as $this->contactos)
echo $contacto->mostrar()."<br>";
}
}
Y para construirlo todo sería:
Código PHP:
$mi_agenda = new agenda();
$mi_agenda->add('Ana','Maria Sellés','966854213');
$mi_agenda->add('Jose','Lorenzo','966141213');
$mi_agenda->add('Mariano','Moreno','961021213');
$mi_agenda->add('Beatriz','Salamanca','960001213');
$mi_agenda->listar_contactos();
Si no me he equivocado en algo.