Saltar al contenido principal
Documentos
Java keywordsMatrices JavaProgramación orientada a objetos en JavaJava File HandlingIntroducción a JavaConceptos básicos del lenguaje Java

implementa Palabra clave en Java

La palabra clave implements en Java se utiliza para indicar que una clase va a implementar una interfaz. Al utilizar implements, una clase se compromete a proporcionar implementaciones concretas para todos los métodos abstractos declarados en la interfaz.

Utilización

La palabra clave implements se utiliza en la declaración de una clase para especificar una o varias interfaces que la clase implementará.

Syntax

class ClassName implements InterfaceName {
    // Class body with implementations of interface methods
}
  • ClassName: El nombre de la clase que implementa la interfaz.
  • InterfaceName: El nombre de la interfaz que se está implementando. Se pueden implementar varias interfaces separándolas con comas.

Ejemplos

Ejemplo 1: Implementación de interfaz única

interface Animal {
    void makeSound();
}

public class Dog implements Animal {
    public void makeSound() {
        System.out.println("Bark");
    }

    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.makeSound();  // Outputs: Bark
    }
}

En este ejemplo, la clase Dog implementa la interfaz Animal. El método makeSound se define en la clase Dog para proporcionar el comportamiento específico de un perro.

Ejemplo 2: Implementación de múltiples interfaces

interface Animal {
    void makeSound();
}

interface Pet {
    void play();
}

public class Cat implements Animal, Pet {
    public void makeSound() {
        System.out.println("Meow");
    }

    public void play() {
        System.out.println("Playing with a ball of yarn");
    }

    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.makeSound();  // Outputs: Meow
        cat.play();       // Outputs: Playing with a ball of yarn
    }
}

Aquí, la clase Cat implementa dos interfaces, Animal y Pet. Proporciona implementaciones concretas para los métodos makeSound y play.

Ejemplo 3: Implementación de la interfaz con métodos por defecto

interface Vehicle {
    void start();
    default void stop() {
        System.out.println("Vehicle stopped");
    }
}

public class Car implements Vehicle {
    public void start() {
        System.out.println("Car started");
    }

    public static void main(String[] args) {
        Car car = new Car();
        car.start();  // Outputs: Car started
        car.stop();   // Outputs: Vehicle stopped
    }
}

En este ejemplo, la interfaz Vehicle tiene un método por defecto stop. La clase Car implementa la interfaz Vehicle y proporciona una implementación para el método start. El método por defecto stop es heredado por la clase Car.

Consejos y buenas prácticas

  • Segregación de interfaces: Implementa interfaces específicas de la funcionalidad de la clase. Esto se ajusta al Principio de Segregación de Interfaces (PSI), lo que hace que el código sea más modular y fácil de mantener.
  • Herencia múltiple: Utiliza interfaces para conseguir herencia múltiple en Java. Una clase puede implementar varias interfaces, lo que le permite heredar el comportamiento de varias fuentes.
  • Métodos por defecto: Aprovecha los métodos por defecto de las interfaces para proporcionar una funcionalidad común sin obligar a todas las clases implementadoras a anularlos.
  • Documentación: Documenta la finalidad de cada interfaz y los métodos que declara. Esto ayuda a otros desarrolladores a comprender el contrato que deben cumplir las clases implementadoras.
  • Coherencia: Asegúrate de que las convenciones de nomenclatura y las firmas de los métodos sean coherentes entre las interfaces y sus implementaciones, para mayor claridad y facilidad de mantenimiento.
interface Drivable {
    void drive();
}

interface Fillable {
    void fillFuel();
}

public class Truck implements Drivable, Fillable {
    public void drive() {
        System.out.println("Truck is driving");
    }

    public void fillFuel() {
        System.out.println("Filling truck with fuel");
    }
}

Aprende Java Essentials

Desarrolla tus conocimientos de Java desde la base y domina los conceptos de programación.
Empieza a aprender gratis