2
respuestas

[Duda] por que dice vamos a extender? xd

por que se usa el extends si vamos es a heredar de otra interface? ¿? en el curso de java no dijo que se usaba era implements ?

2 respuestas

En Java, se utilizan tanto extends como implements para trabajar con interfaces y clases abstractas, pero tienen diferentes propósitos y se aplican en contextos diferentes:

extends: Se usa para heredar de una clase (clase base o superclase). Cuando usas extends, tu clase está heredando comportamiento y propiedades de otra clase. No puedes heredar de múltiples clases utilizando extends, ya que Java no admite herencia múltiple de clases.

implements: Se utiliza para implementar interfaces. Las interfaces son como contratos que definen un conjunto de métodos que una clase debe proporcionar. Cuando una clase implementa una interfaz, está obligada a proporcionar implementaciones para todos los métodos definidos en esa interfaz. Puedes implementar múltiples interfaces en una sola clase, lo que permite a una clase proporcionar comportamiento de múltiples fuentes.

Hola, como hemos estudiado en los primeros cursos, en Java tenemos clases e interfaces, cada uno con sus propias caracteristicas.

Entre ellas pueden relacionarse, por ende, extender y/o heredar atributos o métodos, para realizar ello se utilizan las palabras claves extends e implements.

Para simplificar tenemos las siguientes relaciones.

1. CLASE, puede tener 2 escenarios:

  • Extends: Cuando la clase hereda (extiende) propiedades de otra clase. Solo se puede extender solo una clase. Ejemplo:
    class ClassA extends ClassB {
    ...}
  • Implements: Cuando la clase hereda (implementa) propiedades de una interfaz. Se puede implementar múltiples interfaces. Ejemplo:
    class ClassA implements InterfaceB, InterfaceC, InterfaceD {
    ...}

2. INTERFAZ, puede tener solo 1 escenario:

  • Extends: Cuando la interfaz hereda (extiende) propiedades de una interfaz. Se puede extender múltiples interfaces. Ejemplo:
    interface InterfaceA extends InterfaceB, InterfaceC, InterfaceD {
    ...}

En el ejemplo que indicas, es el escenario de una interfaz aplicando un extend para generar extender otra interfaz.

    public interface MedicoRepository extends JpaRepository<Medico, Long> {
    }

MedicoRepository es una interfaz y JpaRepository es otra interfaz, en este caso se usa extends.