Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2013, 00:39
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 6 meses
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