Estoy aprendiendo php orientado a objetos, estoy haciendo un ejercicio, y la verdad que estoy desde ayer enroscandome pero no encuentro la manera de hacerlo, ya busque info en internet pero no me sale, hace ya mas de 5 horas que estoy buscandole una solucion pero no logro hacerlo funcionar!!
El tema es asi... lo que quiero hacer es que en "escuela.php" hacer una funcion que busque un niño determinado y retorne el autobus(coche) en el que se encuentra.
Tengo que hacerlo si o si en "escuela.php", osea, desde "index.php" llamo a la funcion para preguntar por el niño para saber en que coche está.
Index.php:
Código:
<?php
require_once 'Escuela.php';
require_once 'Niño.php';
require_once 'cocheEscolar.php';
?>
<pre>
<?php
$coche1 = new cocheEscolar('centro','abc123');
$coche2 = new cocheEscolar('playa','cba321');
$coche3 = new cocheEscolar('9 de julio','sss523');
$escuela = new Escuela('Pepe Grillo','direccion12');
$escuela->addCoche('abc123');
$escuela->addCoche('cba321');
$escuela->addCoche('sss523');
$niño = new Niño('facu','av2-4252','playa');
$niño1 = new Niño('fiama','direccion2','centro');
$niño2 = new Niño('gary','direccion3','centro');
$escuela->agregarNiño($niño);
$escuela->agregarNiño($niño1);
$escuela->agregarNiño($niño2);
$coche2->setAlumnoCoche($niño);
$coche1->setAlumnoCoche($niño1);
$coche1->setAlumnoCoche($niño2);
?>
</pre>
cocheEscolar.php:
Código:
Class cocheEscolar
{
private $barrio;
private $matricula;
private $matriculas=array();
const LIMITE_CAPACIDAD = '5';
private $alumnos = array();
public function __construct($barrio,$matricula)
{
$this->barrio = $barrio;
$this->matricula = $matricula;
$this->coches[] = 'barrio: ' . $barrio . ' Matricula: ' . $matricula . '<br>';
$this->matriculas[] = $matricula;
}
public function estaLleno()
{
return $lleno = count($this->alumnos) >= self::LIMITE_CAPACIDAD;
}
public function setAlumnoCoche($alumno)
{
$this->alumnos[] = $alumno;
}
public function verNiñosCoche($matricula)
{
//echo 'Alumnos en el coche con matricula ' . $this->matricula . '<br>';
foreach ($this->matriculas as $matr) {
if($matr == $matricula) {
foreach ($this->alumnos as $al) {
echo $al . '<br>';
}
}
}
}
Niño.php:
Código:
<?php
require_once 'Casa.php';
class Niño
{
private $nombree;
private $direccion;
private $barrio;
//private $escuela;
public function __construct($nombree,$direccion,$barrio)
{
//$this->escuela=$escuela;
$this->direccion = $direccion;
$this->barrio = $barrio;
$this->nombree = $nombree;
new Casa($this->nombree,$this->direccion,$this->barrio);
}
public function __toString()
{
return $this->nombree;
}
public function verDatos()
{
return 'Nombre: ' . $this->nombree . '<br>direccion: ' . $this->direccion . '<br>barrio: ' . $this->barrio . '<br><br>';
}
}
Escuela.php:
Código:
<?php
Class Escuela
{
private $nombre;
private $direccion;
private $alumnos = array();
private $coches = array();
public function __construct($nombre,$direccion)
{
$this->nombre = $nombre;
$this->direccion = $direccion;
}
public function addCoche($coche)
{
$this->coches[] = $coche;
}
public function verCoches()
{ echo 'Coches del colgio: <br>';
foreach ($this->coches as $coche) {
echo 'matricula: ' .$coche . '<br>';
}
}
public function agregarNiño($nombre)
{
return $this->alumnos[] = $nombre;
}
public function verAlumnos()
{
foreach ($this->alumnos as $alumno) {
echo $alumno . '<br>';
}
}
public function verAlumno2Coche($nombre)
{
//es aca donde no se que codigo hacer !!
}
}
Como ven.. en escuela.php en la funcion verAlumno2Coche($nombre) no pude encontrar la manera de que me retorne el nombre del chico buscado y que me diga en que coche se encuentra..
Por favor si me ayudan a resolver esto me re serviria para aprender y asi entender mejor la OOP y poder aplicarlo a otros casos.. Espero puedan ayudarme, desde ya muchas gracias, saludos!!