Diferença entre Implementações e Extensões

Anonim

Implementos vs Extends

Implementos e extensões são duas palavras-chave encontradas na linguagem de programação Java que fornece um meio de transferir funcionalidades adicionais para uma nova classe. A palavra-chave Implements é usada explicitamente para implementar uma interface, enquanto a palavra-chave Extensões é usada para herdar de uma classe (super). Observe que os conceitos de herança e interfaces estão presentes na maioria das outras linguagens de programação orientadas a objetos, como C # e VB. NET, mas eles oferecem sintaxe diferente ou palavras-chave para aplicar esses conceitos. Este artigo apenas se concentra em implementações e extensões de palavras-chave definidas em Java.

Extensões

A palavra-chave Extensões é usada para implementar o conceito de herança na linguagem de programação Java. A herança basicamente fornece reutilização de código permitindo estender propriedades e comportamento de uma classe existente por uma classe recém-definida. Quando uma nova subclasse (ou classe derivada) estende uma super classe (ou classe pai), essa subclasse herdará todos os atributos e métodos da super classe. A subclasse pode opcionalmente substituir o comportamento (fornecer funcionalidade nova ou estendida a métodos) herdados da classe pai. Uma subclasse não pode estender várias super classes em Java. Portanto, você não pode usar extensões para múltiplas heranças. Para ter múltiplas heranças, você precisa usar as interfaces, conforme explicado abaixo.

Implementos

A palavra-chave de implementações na linguagem de programação Java é usada para implementar uma interface por uma classe. Uma interface em Java é um tipo abstrato que é usado para especificar um contrato que deve ser implementado por classes, que implementam essa interface. Normalmente, uma interface só contém assinaturas de métodos e declarações constantes. Qualquer interface que implemente uma interface específica deve implementar todos os métodos definidos na interface, ou deve ser declarada como uma classe abstrata. Em Java, o tipo de referência de um objeto pode ser definido como um tipo de interface. Mas esse objeto deve ser nulo ou deve conter um objeto de uma classe, que implementa essa interface específica. Usando a palavra-chave Implements em Java, você pode implementar várias interfaces para uma única classe. Uma interface não pode implementar outra interface. No entanto, uma interface pode estender uma classe.

Diferença entre Implements e Extends

Embora, implementações e extensões sejam duas palavras-chave que fornecem um mecanismo para herdar atributos e comportamento para uma classe na linguagem de programação Java, eles são usados ​​para duas finalidades diferentes. A palavra-chave Implements é usada para uma classe para implementar uma determinada interface, enquanto a palavra-chave Extends é usada para que uma subclasse se estenda de uma super classe. Quando uma classe implementa uma interface, essa classe precisa implementar todos os métodos definidos na interface, mas quando uma subclasse estende uma super-classe, pode ou não substituir os métodos incluídos na classe pai.Finalmente, outra diferença importante entre Implements e Extends é que, uma classe pode implementar múltiplas interfaces, mas ela só pode se estender de uma super classe em Java. Em geral, o uso de Implements (interfaces) é considerado mais favorável em comparação com o uso de Extends (herança), por várias razões, como maior flexibilidade e a capacidade de minimizar o acoplamento. Portanto, na prática, a programação para uma interface é preferida ao longo das classes base.