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

[SOLUCIONADO] Cambio de firmas al implementar interfaces

Estas en el tema de Cambio de firmas al implementar interfaces en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Bueno...no se si el titulo es correcto, pero quisiera poder definir el tipo de dato admitido en el metodo compareTo() al momento de implementarlo: Código ...
  #1 (permalink)  
Antiguo 25/06/2013, 00:39
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Pregunta Cambio de firmas al implementar interfaces

Bueno...no se si el titulo es correcto, pero quisiera poder definir el tipo de dato admitido en el metodo compareTo() al momento de implementarlo:

Código PHP:
interface IComparable
{
   public function 
compareTo($elem);
   public function 
getDiff(); // devuelve matriz de diferencias

Ahora uso la interfaz y comparo objetos pero en otro momento puedo querer comparar un tipo diferente de objetos, u arrays...etc

Cuando intento definir el tipo de dato.... me rebota y me toca andar con rodeos:

Código PHP:
Class Tag implements IComparable
{
...

  public function 
compareTo ($tag2)
    {
        
$class __CLASS__;
        if (!(
$tag2 instanceof $class))
            throw new 
Exception ('Debe ser del mismo tipo a comparar'); 
 
... 
Quisiera poder decir en ese caso que me acepte tipo Tag


Mas alla de las posibilidades del lenguaje (que no conozco totalmente), conceptualmente, que tengo mal ? gracias!
__________________
Salu2!

Última edición por Italico76; 25/06/2013 a las 04:57
  #2 (permalink)  
Antiguo 25/06/2013, 11:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Cambio de firmas al implementar interfaces

He intentado hacer:

public function compareTo(object $elem);

...pero no funciona,... NADIE ?
__________________
Salu2!
  #3 (permalink)  
Antiguo 25/06/2013, 11:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cambio de firmas al implementar interfaces

Las firmas son irrevocables y deben ser compatibles sí o sí, no se puede hacer lo que estás buscando usando dicho approach, en el mejor de los casos lo que haces (aunque es un hack) debería ser suficiente a pesar de sus defectos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 25/06/2013, 12:12
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: Cambio de firmas al implementar interfaces

Gracias colega
__________________
Salu2!

Etiquetas: interfaces, php, poo, sobrecarga
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 00:46.