informaticaPC

Introducción a la Programación Orientada a Objetos (POO) y UML

Interfaces

Interfaces

Las Interfaces son usadas para indicar qué métodos debe obligatoriamente implementar (contener) una Clase (aunque no tienen por qué comportarse del mismo modo).

Los métodos definidos en una una Interface deben ser public.

Como ya hemos comentado anteriormente, en lenguajes de Programación Orientada a Objetos que no soportan herencia múltiple (como Java) se usa también para simularla.

Veamos a continuación un ejemplo en lenguaje Java en el que creamos una interface IEmpleado que es implementada por las clases Carpintero y Fontanero, las cuales además heredan de Persona.

Main.java:

package EjemplosPOO.ejemplo03;

public class Main
{
    public static void main(String[] args)
    {
        Carpintero c = new Carpintero();
        Fontanero f = new Fontanero();

        c.setNombreCompleto("Pedro Pérez Perera");
        c.trabajar();

        f.setNombreCompleto("Antonio Miranda Mena");
        f.trabajar();
    }
}

IEmpleado.java (nuestra Interface):

package EjemplosPOO.ejemplo03;

public interface IEmpleado
{
    // Método que deberán definir las clases que implementen esta interface
    public void trabajar();
}

Persona.java:

package EjemplosPOO.ejemplo03;

public class Persona
{
    private String nombreCompleto;

    // -------------------------

    public Persona() {
    }

    // -------------------------

    public String getNombreCompleto() {
        return this.nombreCompleto;
    }

    // -------------------------

    public void setNombreCompleto( String nombreCompleto ) {
        this.nombreCompleto = nombreCompleto;
    }
}

Carpintero.java (implementa la interface IEmpleado indicándolo con implements, y además hereda de Persona):

package EjemplosPOO.ejemplo03;

public class Carpintero extends Persona implements IEmpleado
{
    public Carpintero() {
    }

    // -------------------------

    @Override
    public void trabajar() {
        System.out.println( this.getNombreCompleto() + " está realizando trabajos de carpintería");
    }
}

Fontanero.java (implementa la interface IEmpleado indicándolo con implements, y además hereda de Persona):

package EjemplosPOO.ejemplo03;

public class Fontanero extends Persona implements IEmpleado
{
    public Fontanero() {
    }

    // -------------------------

    @Override
    public void trabajar() {
        System.out.println( this.getNombreCompleto() + " está realizando trabajos de fontanería");
    }
}

Al ejecutar el programa veríamos lo siguiente:

Ejemplo

Más información

Vea también: [ Interfaces ]

Primera página Anterior Siguiente Última página
Usamos cookies para ofrecerte una experiencia mejorada, el continuar navegando supone que aceptas su uso