Foros del Web » Programando para Internet » PHP »

PHP OO Pasar parámetro a método abstracto

Estas en el tema de Pasar parámetro a método abstracto en el foro de PHP en Foros del Web. Hola, Tengo un método abstracto que no tiene ningún parámetro: Código: abstract public function myMethod(); tengo que programarlo en un una clase y cuando le ...
  #1 (permalink)  
Antiguo 08/06/2013, 12:51
 
Fecha de Ingreso: diciembre-2011
Mensajes: 16
Antigüedad: 12 años, 3 meses
Puntos: 1
Pasar parámetro a método abstracto

Hola,

Tengo un método abstracto que no tiene ningún parámetro:

Código:
abstract public function myMethod();
tengo que programarlo en un una clase y cuando le paso el siguiente parámetro:

Código:
abstract public function myMethod($id);
Me da un error si, ya se que el método debe ser idéntico al abstracto. Si al método principal le paso el parámetro para que lo tenga me da el siguiente warning:

Código:
Warning: Missing argument 1 for MyClass::myMethod($id) in:
Decir que este método lo tengo programado en otras tantas clases más y no se si al pasarle por defecto el parámetro los demás me vayan a dar error al no traer el $id por defecto.

Una opción puede ser en las otras tantas clases donde tengo el método myMethod programado decirle de esta forma:

myMethod($id = false)

y debe funcionar pero. ¿Hay alguna otra forma de pasar el parámetro y no tener que ponérselo a todas los demás métodos que ya he programado?

Gracias de antemano
  #2 (permalink)  
Antiguo 08/06/2013, 13:13
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Pasar parámetro a método abstracto

Yo diría que la única forma es dándole el valor por defecto como has hecho..

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 08/06/2013, 13:44
 
Fecha de Ingreso: diciembre-2011
Mensajes: 16
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Pasar parámetro a método abstracto

Cita:
Iniciado por miktrv Ver Mensaje
Yo diría que la única forma es dándole el valor por defecto como has hecho..

Un saludo!
Gracias miktrv y el warning ese por qué me da cuando el método padre y el hijo están iguales???

ahh bueno debe ser porque como lo puse de prueba no lo inicialicé imagino que sea por eso no?

Gracias
  #4 (permalink)  
Antiguo 08/06/2013, 16:46
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Pasar parámetro a método abstracto

Buenas,

Si, ese warning será porque llamas al método sin pasarle argumento. Si le colocas un valor por defecto, ya le estas diciendo que no es obligatorio.

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo

Etiquetas: Ninguno
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 01:00.