domingo, 28 de diciembre de 2014

Ejercicios de Programacion Orientada a Objetos en PHP - 2 de 3



Dos_ruedas.class.php:

<?php
class Dos_ruedas extends vehículo
{
// Declaración de atributos
private $cilindrada;
//accesos
public function getCilindrada()
{
return $this->cilindrada; //devuelve la cilindrada
}
public function setCilindrada($cilindrada)
{
$this->cilindrada = $cilindrada; //escrito en el atributo
//cilindrada
}
//método público
public function poner_gasolina($numerolitros)
{
}
}
?>

Coche.class.php:

<?php
class Coche extends Cuatro_ruedas
{
// Declaración de atributos
private $numero_cadenas_nieve;
//accesos
public function getNumeroCadenasNieve()
{
return $this->numero_cadenas_nieve; //devuelve el
//numero_cadenas_nieve
}
public function setNumeroCadenasNieve($numero_cadenas_nieve)
{
$this->numero_cadenas_nieve = $numero_cadenas_nieve;
//escrito en el atributo numero_cadenas_nieve
}
//métodos públicos
public function añadir_cadenas_nieve($numero)
{
}
public function quitar_cadenas_nieve($numero)
{
}
}
?>

Camion.class.php:

<?php
class Camion extends Cuatro_ruedas
{
// Declaración de atributos
private $longitud;
//accesos
public function getLongitud()
{
return $this->longitud; //devuelve la longitud
}
public function setLongitud($longitud)
{
$this->longitud = $longitud; //escrito en el atributo
//longitud
}
//métodos públicos
public function añadir_remolque($longitud_remolque)
{
}
}
?>

Mostrar.php:

<?php
//carga de clases
include(’vehículo.class.php’);
//instanciar la clase vehículo
$vehiculo1 = new vehículo("negro",1500);
$vehiculo1->circula();
$vehiculo1->añadir_persona(70);
echo "El nuevo peso del vehículo es:".$vehiculo1->getPeso();
?>

Da como resultado:

El vehículo circula.
El nuevo peso del vehículo es:1570


Solución del ejercicio 3

Cuatro_ruedas.class.php:

<?php
class Cuatro_ruedas extends vehículo
{
// Declaración de atributos
private $numero_puertas;
//accesos
public function getNumeroPuertas()
{
return $this->numero_puertas; //devuelve el número
//de puertas
}
public function setNumeroPuertas($numero_puertas)
{
$this->numero_puertas = $numero_puertas; //escrito en
//el atributo número puertas
}
//Método público
public function repintar($color)
{
$this->setColor($color);
}
}
?>

Dos_ruedas.class.php:

<?php
class Dos_ruedas extends vehículo
{
// Declaración de atributos
private $cilindrada;
//accesos
public function getCilindrada()
{
return $this->cilindrada; //devuelve la cilindrada
}
public function setCilindrada($cilindrada)
{
$this->cilindrada = $cilindrada; //escrito en el atributo
//cilindrada
}
//método público
public function poner_gasolina($numerolitros)
{
$this->setPeso($this->getPeso()+$numerolitros);
}
}
?>

Coche.class.php:

<?php
class Coche se extends Cuatro_ruedas
{
// Declaración de atributos
private $numero_cadenas_nieve=0;
//accesos
public function getNumeroCadenasNieve()
{
return $this->numero_cadenas_nieve;
// devuelve el numero_cadenas_nieve
}
public function setNumeroCadenasNieve($numero_cadenas_nieve)
{
$this->numero_cadenas_nieve = $numero_cadenas_nieve;
// escrito en el atributo numero_cadenas_nieve
}
//métodos públicos
public function añadir_cadenas_nieve($numero)
{
$this->numero_cadenas_nieve =
$this->numero_cadenas_nieve + $numero;
}
public function quitar_cadenas_nieve($numero)
{
if ($this->numero_cadenas_nieve - $numero < 0) {
$this->numero_cadenas_nieve = 0;
}
else {
this->numero_cadenas_nieve =
$this-> numero_cadenas_nieve - $;
}
}
}
?>

Camion.class.php:

<?php
class Camion extends Cuatro_ruedas
{
// Declaración de atributos
private $longitud;
//accesos
public function getLongitud()
{
return $this->longitud; //devuelve la longitud
}
public function setLongitud($longitud)
{
$this->longitud = $longitud; //escrito en el atributo
//longitud
}
//métodos públicos
public function añadir_remolque($longitud_remolque)
{
$this->longitud = $this->longitud + $longitud_remolque;
}
}
?>

Mostrar.php:

<?php
//carga de clases
include(’vehículo.class.php’);
include(’Cuatro_ruedas.class.php’);
include(’Dos_ruedas.class.php’);
include(’Coche.class.php’);
include(’Camion.class.php’);
//instanciar la clase vehículo
$coche = new Coche("verde",1400);
$coche->añadir_persona(130);
echo "El color del coche es: ".$coche->getColor()."<br />";
echo "El nuevo peso del coche es: ".$coche->getPeso()."<br />";
//repintar en rojo
$coche->repintar("rojo");
//añadir 2 cadenas para la nieve
$coche->añadir_cadenas_nieve(2);
echo "El color del coche es: ".$coche->getColor()."<br />";
echo "El número de cadenas para la nieve del coche es: ".$coche->
getNumeroNeumaticoNieve()."<br /><br />";
//instanciar los dos ruedas
$dos_ruedas = new Dos_ruedas("negro",120);
$dos_ruedas->añadir_persona(80);
$dos_ruedas->poner_gasolina(20);
echo "El color del dos ruedas es: ".$dos_ruedas->getColor()."<br />";
echo "El peso del dos ruedas es: ".$dos_ruedas->getPeso()."<br />
<br />";
//instanciar el camión
$camion = new Camion("azul",10000);
$camion->setLongitud(10);
$camion->setNumeroPuertas(2);
$camion->añadir_remolque(5);
$camion->añadir_persona(80);
echo "El color del camión es: ".$camion->getColor()."<br />";
echo "El peso del camión es: ".$camion->getPeso()."<br />";
echo "La longitud del camión es: ".$camión->getLongitud()."<br />";
echo "El número de puertas del camión es: ".$camion->getNumeroPuertas()."
<br />";
?>

Da como resultado:

El color del coche es: verde
El nuevo peso del coche es: 1530
El color del coche es: rojo
El número de cadenas para la nieve del coche es: 2
El color del dos ruedas es: negro
El peso del dos ruedas es: 220
El color del camión es: azul
El peso del camión es: 10080
La longitud del camión es: 15
El número de puertas del camión es: 2


Solución del ejercicio 4

Vehículo.class.php:

<?php
abstract class vehículo
{
// Declaración de atributos
private $color;
private $peso;
//constructor
public function __construct($color, $peso)
//Constructor que solicita 2 argumentos.
{
$this->color = $color; // Inicialización del color.
$this->peso = $peso; // Inicialización del peso.
}
//accesos
public function getColor()
{
return $this->color; //devuelve el color
}
public function setColor($color)
{
$this->color = $color; //escrito en el atributo color
}
public function getPeso()
{
return $this->peso; //devuelve el peso
}
public function setPeso($peso)
{
$this->peso = $peso; //escrito en el atributo peso
}
//métodos públicos
public function circula()
{
echo "El vehículo circula.<br />";
}
public static function ver_atributo($objeto) {
if(method_exists($objeto,’getColor’)) {
echo "El color es:".$objeto->getColor()."<br />";
}
if(method_exists($objeto,’getPeso’)) {
echo "El peso es:".$objeto->getPeso()."<br />";
}
if(method_exists($objeto,’getCilindrada’)) {
echo "La cilindrada es:".$objeto->getCilindrada().
"<br />";
}
if(method_exists($objeto,’getNumeroPuertas’)) {
echo "El número de puertas es:";
echo $objeto->getNumeroPuertas()."<br />";
}
if(method_exists($objeto,’getLongitud’)) {
echo "La longitud es:".$objeto->getLongitud();
echo "<br />";
}
if(method_exists($objeto,’getNumeroNeumaticoNieve’)) {
echo "El número de cadenas para la nieve es:";
echo $objeto->getNumeroNeumaticoNieve()."<br />";
}
}
abstract public function añadir_persona($peso_persona);
}
?>



Espero haber ayudado en algo. Hasta la próxima oportunidad! 








No hay comentarios:

Publicar un comentario en la entrada