POO EN PHP
Clases en POO
marca = $marca;
$this->modelo = $modelo;
$this->color = $color;
}
// Método para mostrar la información del coche
public function mostrarInformacion() {
echo "Marca: " . $this->marca . "
";
echo "Modelo: " . $this->modelo . "
";
echo "Color: " . $this->color . "
";
}
}
// Creación de un objeto (instancia de la clase Coche)
$miCoche = new Coche("Toyota", "Corolla", "Rojo");
var_dump($miCoche);
$miCoche->marca = "Seat"; // Modificar una propiedad
var_dump($miCoche);
// Acceso a las propiedades del objeto y llamada a un método
echo "Información de mi coche:
";
$miCoche->mostrarInformacion();
//Herencia
// Definición de la clase hija CocheDeportivo que hereda de Coche (Superclase y subclase)
class CocheDeportivo extends Coche {
// Propiedades adicionales para un coche deportivo
public $potencia;
public $aceleracion;
// Método constructor
public function __construct($marca, $modelo, $color, $potencia, $aceleracion) {
// Llamada al constructor de la clase padre
parent::__construct($marca, $modelo, $color);
// Asignación de las propiedades adicionales
$this->potencia = $potencia;
$this->aceleracion = $aceleracion;
}
// Método para mostrar información específica de un coche deportivo
public function mostrarInformacionDeportiva() {
//parent::mostrarInformacion();
echo "Potencia: " . $this->potencia . "
";
echo "Aceleración: " . $this->aceleracion . "
";
}
}
// Creación de un objeto CocheDeportivo
$miCocheDeportivo = new CocheDeportivo("Ferrari", "458 Italia", "Rojo", "570 CV", "3,4 segundos");
// Acceso a los métodos de la clase base y de la clase hija
echo "Información de mi coche deportivo:
";
$miCocheDeportivo->mostrarInformacion(); // Método de la clase base
$miCocheDeportivo->mostrarInformacionDeportiva(); // Método de la clase hija
// Encapsulación
class Persona {
private $nombre;
private $edad;
public function __construct($nombre, $edad) {
$this->nombre = $nombre;
$this->edad = $edad;
}
public function getNombre() {
return $this->nombre;
}
public function setNombre($nombre) {
$this->nombre = $nombre;
}
public function getEdad() {
return $this->edad;
}
public function setEdad($edad) {
$this->edad = $edad;
}
}
$persona = new Persona("Juan", 30);
//$persona->nombre = "Pedro";Acceso privado
//echo $persona->nombre; // Acceso privado
echo "Nombre: " . $persona->getNombre() . ", Edad: " . $persona->getEdad();
?>