Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Duda ejercicio

Estas en el tema de Duda ejercicio en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas, Estoy realizando unos ejercicios para el cole y no entiendo muy bien que tengo que hacer en este. Tomando como base el ejercicio anterior, ...
  #1 (permalink)  
Antiguo 13/06/2010, 08:05
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Duda ejercicio

Buenas,

Estoy realizando unos ejercicios para el cole y no entiendo muy bien que tengo que hacer en este.

Tomando como base el ejercicio anterior, realiza las modificaciones
oportunas de manera que hagas uso de la posibilidad de redefinición de
métodos que permite la POO
, aplicándolo en este caso sobre los métodos de
asignación y de visualización de valores para cada uno de los diferentes
tipos de vehículos.

haber si alguien lo entiende??

Saludos
  #2 (permalink)  
Antiguo 13/06/2010, 08:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Duda ejercicio

Y ¿qué dice el ejercicio anterior? Pero una forma de redefinir los métodos es usando herencia.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 13/06/2010, 10:46
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Duda ejercicio

en el ejercicio anterio que hice fue esto:

<?php

class automovil{
protected $tipo_vehiculo;
protected $marca;
protected $modelo;
protected $combustible;
protected $cubicaje;
protected $num_puertas;

function __construct($tipo_vehiculo, $marca, $modelo, $combustible, $cubicaje, $num_puertas){
$this->tipo_vehiculo = $tipo_vehiculo;
$this->marca = $marca;
$this->modelo = $modelo;
$this->combustible = $combustible;
$this->cubicaje = $cubicaje;
$this->num_puertas = $num_puertas;
}

function visua_valores(){
if ($this->tipo_vehiculo== "Coche" || $this->tipo_vehiculo== "Moto" || $this->tipo_vehiculo== "Camion"){
print $this->tipo_vehiculo;
}
print "<br>";
print $this->marca;
print "<br>";
print $this->modelo;
print "<br>";
if ($this->combustible== "Diesel" || $this->combustible== "Gasolina"){
print $this->combustible;
}
print "<br>";
if ($this->cubicaje>=49 && $this->cubicaje<=12000){
print $this->cubicaje;
}
print "<br>";
print $this->num_puertas;
print "<br>";
}


}

class coche extends automovil{
private $num_plazas;
private $tipo_tapiceria;
private $tipo_coche;

function __construct($num_plazas, $tipo_tapiceria, $tipo_coche){
$this->num_plazas = $num_plazas;
$this->tipo_tapiceria = $tipo_tapiceria;
$this->tipo_coche = $tipo_coche;



}

function defi_valores_coche(){
// parent::__construct();
// print $this->tipo_vehiculo;
print $this->num_plazas;
print "<br>";
print $this->tipo_tapiceria;
print "<br>";
print $this->tipo_coche;
print "<br>";
}
}

class moto extends automovil{
private $num_cilindros;
private $tip_transmision;
private $tip_moto;

function __construct($num_cilindros, $tip_transmision, $tip_moto){
$this->num_cilindros = $num_cilindros;
$this->tip_transmision = $tip_transmision;
$this->tip_moto = $tip_moto;
}
function defi_valores_moto(){
print $this->num_cilindros;
print "<br>";
print $this->tip_transmision;
print "<br>";
print $this->tip_moto;
print "<br>";
}
}

class camion extends automovil{
private $num_ejes;
private $tara;
private $PMA;
private $metros_longitud;
private $tip_utlizacion;

function __construct($num_ejes, $tara, $PMA, $metros_longitud, $tip_utlizacion){
$this->num_ejes = $num_ejes;
$this->tara = $tara;
$this->PMA = $PMA;
$this->metros_longitud = $metros_longitud;
$this->tip_utlizacion = $tip_utlizacion;
}

function defi_valores_camion(){
print $this->num_ejes;
print "<br>";
print $this->tara;
print "<br>";
print $this->PMA;
print "<br>";
print $this->metros_longitud;
print "<br>";
print $this->tip_utlizacion;
print "<br>";
}
}

$tipo_vehiculo = "Coche";;
$marca = "peugeot";
$modelo = "308 rc-z";
$combustible = "Diesel";
$cubicaje = 49;
$num_puertas = "2";
$num_plazas = "2";
$tipo_tapiceria = "piel";
$tipo_coche = "coupe";

$tipo_vehiculo1 = "Moto";;
$marca1 = "audi";
$modelo1 = " A8 ";
$combustible1 = "Gasolina";
$cubicaje1 = 78;
$num_puertas1 = "4";
$num_cilindros = "23" ;
$tip_transmision = "cadena";
$tip_moto = "scoutter";

$tipo_vehiculo2 = "Camion";;
$marca2 = "Mercedez";
$modelo2 = " Bans ";
$combustible2 = "Gasolina";
$cubicaje2 = 89;
$num_puertas2 = "2";
$num_ejes = "2" ;
$tara = "n";
$PMA = "23" ;
$metros_longitud = "54";
$tip_utlizacion = "obras";



$obj = new automovil($tipo_vehiculo, $marca, $modelo, $combustible, $cubicaje, $num_puertas);
$obj2 = new automovil($tipo_vehiculo1, $marca1, $modelo1, $combustible1, $cubicaje1, $num_puertas1);
$obj3 = new automovil($tipo_vehiculo2, $marca2, $modelo2, $combustible2, $cubicaje2, $num_puertas2);
$objcoche = new coche($num_plazas, $tipo_tapiceria, $tipo_coche);
$objmoto = new moto($num_cilindros, $tip_transmision, $tip_moto);
$objcamion = new camion($num_ejes, $tara, $PMA, $metros_longitud, $tip_utlizacion);
$obj->visua_valores();
$objcoche->defi_valores_coche();
print "<br>";
print "<br>";
$obj2->visua_valores();
$objmoto->defi_valores_moto();
print "<br>";
print "<br>";
$obj3->visua_valores();
$objcamion->defi_valores_camion();
print "<br>";
print "<br>";




?>

Que tendria q hacer entonces???
  #4 (permalink)  
Antiguo 13/06/2010, 10:58
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Duda ejercicio

Como te indique, para re-definir un método lo puedes hacer con herencia.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 13/06/2010, 11:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Duda ejercicio

pero esque en el ejercicio que realice no puede heredar nada ya que cada subclse que tengo tiene diferentes propiedades y metodos.
  #6 (permalink)  
Antiguo 13/06/2010, 11:21
 
Fecha de Ingreso: noviembre-2007
Mensajes: 471
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Duda ejercicio

vale ya esta, lo que hice fue lo siguiente.

remplace el constructor
que tenia en la clase padre


function __construct($tipo_vehiculo, $marca, $modelo, $combustible, $cubicaje, $num_puertas){
$this->tipo_vehiculo = $tipo_vehiculo;
$this->marca = $marca;
$this->modelo = $modelo;
$this->combustible = $combustible;
$this->cubicaje = $cubicaje;
$this->num_puertas = $num_puertas;
}


[B]por la funcion

function define_valores($tipo_vehiculo, $marca, $modelo, $combustible, $cubicaje, $num_puertas){
$this->tipo_vehiculo = $tipo_vehiculo;
$this->marca = $marca;
$this->modelo = $modelo;
$this->combustible = $combustible;
$this->cubicaje = $cubicaje;
$this->num_puertas = $num_puertas;
}

y modifique las ultimas lineas.

antes

$obj = new automovil($tipo_vehiculo, $marca, $modelo, $combustible, $cubicaje, $num_puertas);
$obj2 = new automovil($tipo_vehiculo1, $marca1, $modelo1, $combustible1, $cubicaje1, $num_puertas1);
$obj3 = new automovil($tipo_vehiculo2, $marca2, $modelo2, $combustible2, $cubicaje2, $num_puertas2);
$objcoche = new coche($num_plazas, $tipo_tapiceria, $tipo_coche);
$objmoto = new moto($num_cilindros, $tip_transmision, $tip_moto);
$objcamion = new camion($num_ejes, $tara, $PMA, $metros_longitud, $tip_utlizacion);
$obj->visua_valores();
$objcoche->defi_valores_coche();
print "<br>";
print "<br>";
$obj2->visua_valores();
$objmoto->defi_valores_moto();
print "<br>";
print "<br>";
$obj3->visua_valores();
$objcamion->defi_valores_camion();
print "<br>";
print "<br>";


despues

//$obj = new automovil($tipo_vehiculo, $marca, $modelo, $combustible, $cubicaje, $num_puertas);
//$obj2 = new automovil($tipo_vehiculo1, $marca1, $modelo1, $combustible1, $cubicaje1, $num_puertas1);
//$obj3 = new automovil($tipo_vehiculo2, $marca2, $modelo2, $combustible2, $cubicaje2, $num_puertas2);
$objcoche = new coche($num_plazas, $tipo_tapiceria, $tipo_coche);
$objmoto = new moto($num_cilindros, $tip_transmision, $tip_moto);
$objcamion = new camion($num_ejes, $tara, $PMA, $metros_longitud, $tip_utlizacion);
$objcoche->define_valores($tipo_vehiculo, $marca, $modelo, $combustible, $cubicaje, $num_puertas);
$objcoche->visua_valores();
$objcoche->defi_valores_coche();
print "<br>";
print "<br>";
$objmoto->define_valores($tipo_vehiculo1, $marca1, $modelo1, $combustible1, $cubicaje1, $num_puertas1);
$objmoto->visua_valores();
$objmoto->defi_valores_moto();
print "<br>";
print "<br>";
$objcamion->define_valores($tipo_vehiculo2, $marca2, $modelo2, $combustible2, $cubicaje2, $num_puertas2);
$objcamion->visua_valores();
$objcamion->defi_valores_camion();
print "<br>";
print "<br>";


Es asi, no?????
  #7 (permalink)  
Antiguo 15/06/2010, 19:55
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Duda ejercicio

Lo ideal es que discutamos los conceptos genéricos, no esperar a que nosotros hagamos las tareas que tú debes resolver como parte de tú evaluación como alumno.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.