Interfaz en PHP | Interfaces PHP OOP

Publicado: 2021-03-03

Tabla de contenido

Introducción

PHP es un lenguaje orientado a objetos, y una interfaz es una de las características principales de un lenguaje de programación orientado a objetos. La interfaz permite a los codificadores declarar las funciones que contienen las diferentes definiciones en la clase que implementa esa interfaz. Siga leyendo para comprender la interfaz en PHP . Además, revise los ejemplos de interfaz en PHP compartidos en el artículo para comprender mejor.

Interfaz en PHP

Una interfaz es una característica de la programación orientada a objetos que permite crear funciones sin implementación. La implementación debe incluirse en la clase. Ayuda a evitar la complejidad de la definición del método, ya que cada clase que hereda la interfaz puede tener una implementación diferente según la necesidad. El uso de la interfaz en PHP es similar a la clase, con la única diferencia de que la implementación no está presente en las funciones de la interfaz y la interfaz no tiene variables.

Características de una interfaz en PHP

  • La interfaz no contiene el código.
  • La interfaz tiene la declaración del método con o sin argumentos pero no la definición.
  • Una clase que implementa la interfaz debe contener la definición de todos los métodos declarados en la interfaz.
  • Una clase puede tener la implementación de múltiples interfaces.
  • Una interfaz no puede tener métodos no abstractos.

Sintaxis de una interfaz

La interfaz debe declararse antes de su uso. La sintaxis de una interfaz es similar a la de una clase, con la única diferencia de que la palabra clave de interfaz se usa en lugar de la palabra clave de clase al declarar la interfaz. A continuación se muestra la sintaxis para declarar una interfaz en PHP :

<?php

//Declaración de la interfaz en PHP

Interfaz <Nombre de interfaz>

{

//Código

}

?>

Se puede acceder a los métodos declarados dentro de la interfaz heredando la interfaz por clase. La clase hereda la interfaz en PHP usando la palabra clave implements al declarar la clase.

A continuación se muestra la sintaxis para implementar una interfaz en PHP :

<?php

//Declaración de clase

La clase <Nombre de la clase> implementa <Nombre de la interfaz>

{

//Código

}

?>

Ejemplos de interfaz en PHP

Para comprender el uso de la interfaz, echemos un vistazo al siguiente ejemplo:

<?php

//Declarando interfaz

Interfaz Ejemplo_Forma

{

Función pública ShapeArea();

}

//Clase que hereda la interfaz

Clase Shape1 implementa Example_Shape

{

Función pública ShapeArea()

{

Echo 'Área del círculo';

}

}

//Clase que hereda la interfaz

Clase Shape2 implementa Example_Shape

{

Función pública ShapeArea()

{

Echo 'Área del cuadrado';

}

}

// Clase sin usar la interfaz

Forma de clase3

{

Función pública AreaCal()

{

Echo 'Sin interfaz';

}

}

$Obj1 = nueva Forma1; // Objeto para clase1

$Obj2 = nueva Forma2; // Objeto para clase2

$obj3 = nueva Forma3; // Objeto para la clase 3, sin interfaz

Echo $obj1->ShapeArea();

Eco '<br>';

Echo $obj2->ShapeArea();

Eco '<br>';

Echo $obj3->AreaCal();

?>

Producción

area de circulo

área del cuadrado

Sin interfaz

Explicación de la salida

La clase Shape1 tiene la definición de una función declarada dentro de la interfaz. Shape1 implementa la interfaz, por lo tanto, tiene acceso a la función dentro de ella e imprime 'Área del círculo'. Similar es la explicación para la clase Shape2 y la salida 'Área del cuadrado'. La clase Shape3 no implementa la interfaz y funciona como una clase habitual en PHP.

Implementación de Múltiples Interfaces

Una clase también puede implementar más de una interfaz. En tales casos, la clase necesita tener la definición de todos los métodos declarados en todas las interfaces que la clase está implementando. A continuación se muestra la ilustración de la implementación de más de una interfaz en PHP .

<?php

// Declaración de interfaz

Ejemplo de interfaz1

{

método de función pública1 ();

}

// Declaración de otra interfaz

Ejemplo de interfaz2

{

método de función pública2 ();

}

//Clase que implementa las dos interfaces declaradas arriba

clase clase1 implementa ejemplo1, ejemplo2

{

// Definición del método de interfaz1

Método de función pública1

{

Echo 'Dentro de interfaz1 método1';

}

//Definición del método de interfaz2

Método de función pública2

{

Echo 'Dentro de la interfaz2 método2;

}

}

Obj1 = nueva clase1;

Obj2 = nueva clase2;

Obj1->método1;

Obj2->método2;

?>

Producción

Dentro de la interfaz 1 método 1

Dentro de la interfaz2 método2

Algunos puntos a tener en cuenta sobre la implementación de múltiples interfaces

  • Todos los métodos declarados en la interfaz deben ser públicos.
  • La función no puede tener la palabra clave abstract.
  • Si el programador se olvida de definir alguna función de la interfaz, el código arrojará un error.
  • Las interfaces no pueden contener variables.

Pago : conceptos de programación orientada a objetos en PHP

Diferencia entre una interfaz y una clase abstracta

A continuación se muestran algunas de las diferencias entre una interfaz y una clase abstracta:

  • Una interfaz contiene solo la declaración, pero una clase abstracta contiene tanto la declaración del método como su definición.
  • Los métodos de la interfaz solo pueden ser públicos, mientras que los métodos de la clase abstracta pueden declararse como públicos, privados o protegidos.
  • Una clase puede implementar más de una interfaz, mientras que una clase puede extender solo un método abstracto.

Conclusión

Una interfaz en PHP es una característica que permite a los usuarios declarar métodos públicos sin definición. Este artículo explica toda la información sobre la interfaz con su sintaxis y ejemplos. Esperamos que la información compartida en este artículo le sea útil para comprender el concepto. Puede aprender temas similares basados ​​en PHP en los blogs de upGrad. Para una comprensión profunda, puede inscribirse en un curso de certificación en línea sobre PHP en upGrad. upGrad ofrece muchos cursos certificados que pueden ayudarlo con su carrera y aprendizaje.

Si está interesado en obtener más información sobre el desarrollo de software de pila completa, consulte el Diploma PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.

Conviértase en un desarrollador de pila completa

UPGRAD Y DIPLOMA PG DE IIIT-BANGALORE EN DESARROLLO DE SOFTWARE FULL STACK
APRENDE MÁS