¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Diferencia entre interfaz y clase: ¿Cuál es y cómo se aplican en programación?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 258 Vistas
0
Cargando...

Hola expertos,

¿Alguien puede decirme cuál es la diferencia entre una interfaz y una clase?

Por favor, déjenme saber la respuesta con un pequeño ejemplo.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola,

En mi opinión, no puedes ver una diferencia clara entre interfaz y clase a través de la codificación: ambas tienen atributos, métodos, eventos, etc.

Estos dos temas provienen de la teoría del paradigma orientado a objetos. En la teoría OO, una clase es un plano de un objeto del mundo real o un tipo en tu programa que representa un objeto del mundo real. Digamos que estás escribiendo un software para una universidad, entonces probablemente tendrás en tu software una clase Estudiante, una clase Curso, una clase Empleado, etc. Por otro lado, una interfaz no representa un objeto en el mundo real. Una interfaz es un conjunto de operaciones que tienen algunas conexiones lógicas que tu clase debe tener para ampliar la capacidad del objeto.

Por eso las interfaces se incluyen en las clases.

Ejemplo:

Tienes una clase Radio que representa un objeto real, una radio.

Ahora quieres crear un nuevo tipo de clase: ClockRadio. Un radio reloj es una radio con una característica más que una radio regular. Debido a que tu ClockRadio puede mostrar la hora, debe tener un conjunto de botones que una Radio regular no tiene para poder manejar la capacidad de la hora. Debe tener un botón SetHour() y también una pantalla donde puedas ver la hora: GetHour(). Ahora junta la hora y estas dos operaciones y obtendrás una Interfaz:

Interfaz Clock

Ahora, para crear una Clase ClockRadio heredas de la clase Radio y extiendes con la característica de reloj usando la Interfaz Clock dentro de la definición de la clase ClockRadio e implementas estos dos métodos en su implementación.

Espero que sea útil,

Eyal.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

hi,

Las clases son plantillas para objetos. Los atributos de los objetos son definidos por los componentes de la clase, que describen el estado y comportamiento de los objetos.

Una clase contiene atributos, métodos y eventos como sus componentes.

Podemos crear instancias de la clase.

Podemos crear clases local y globalmente.

Las clases locales se crean directamente en nuestro programa, mientras que las clases globales se crean en el generador de clases SE37.

    • Sección de definición de clase

CLASE <clase> DEFINICIÓN.

SECCIÓN PÚBLICA.

...

SECCIÓN PROTEGIDA.

...

SECCIÓN PRIVADA.

...

FIN DE LA CLASE.

**Sección de implementación de clase

CLASE <clase> IMPLEMENTACIÓN.

FIN DE LA CLASE.

INTERFAZ.

La interfaz contiene solo el prototipo del método, no proporciona implementación a sus métodos. Podemos proporcionar implementación a sus métodos en nuestra clase implementando la interfaz.

La interfaz es la fuente del polimorfismo.

Podemos definir la interfaz utilizando la sintaxis

INTERFAZ <intf>.

...

FIN DE LA INTERFAZ.

No podemos crear una instancia de la interfaz.

Ejemplo de clase.

CLASE C_COUNTER DEFINICIÓN.

SECCIÓN PÚBLICA.

MÉTODOS: SET_COUNTER IMPORTANDO VALUE(SET_VALUE) TIPO I,

INCREMENTAR_CONTADOR,

OBTENER_CONTADOR EXPORTANDO VALUE(GET_VALUE) TIPO I.

SECCIÓN PRIVADA.

DATA COUNT TIPO I.

FIN DE LA CLASE.

CLASE C_COUNTER IMPLEMENTACIÓN.

MÉTODO SET_COUNTER.

COUNT = SET_VALUE.

FIN_DEL_MÉTODO.

MÉTODO INCREMENTAR_CONTADOR.

AÑADIR 1 A COUNT.

FIN_DEL_MÉTODO.

MÉTODO OBTENER_CONTADOR.

GET_VALUE = COUNT.

FIN_DEL_MÉTODO.

FIN DE LA CLASE.

Saludos,

AshokReddy.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

La principal diferencia entre una CLASE y una INTERFAZ es:

- La Clase tiene tanto una definición como una implementación, mientras que la Interfaz solo tiene una definición.

Las Interfaces en realidad se implementan a través de una Clase. (Debido a esta forma de implementar Interfaces, los Objetos ABAP admiten el concepto de herencia múltiple.)

Saludos,

Sumant.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

¡Hola!

La principal diferencia entre una CLASE y una INTERFAZ es:

- La Clase tiene tanto definición como implementación, mientras que la Interfaz solo tiene una definición.

Las Interfaces se implementan realmente a través de una Clase. (Debido a esta forma de implementar Interfaces, los Objetos ABAP admiten el concepto de herencia múltiple).

Saludos,

Sumant.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?