Diferença entre implementos e extensões

Diferença entre implementos e extensões
Diferença entre implementos e extensões

Vídeo: Diferença entre implementos e extensões

Vídeo: Diferença entre implementos e extensões
Vídeo: Qual a diferença entre docente e discente ? #educador #professor #docente #estudante #souprofessor 2024, Julho
Anonim

Implements vs Extends

Implements e Extends são duas palavras-chave encontradas na linguagem de programação Java que fornecem um meio de transferir funcionalidades adicionais para uma nova classe. A palavra-chave Implements é usada explicitamente para implementar uma interface, enquanto a palavra-chave Extends é usada para herdar de uma (super) classe. 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 oferecem sintaxe ou palavras-chave diferentes para aplicar esses conceitos. Este artigo se concentra apenas nas palavras-chave Implements e Extends definidas em Java.

Estende

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

Implementos

A palavra-chave Implements 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 conterá apenas assinaturas de métodos e declarações constantes. Qualquer interface que implemente uma determinada interface 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 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 Implementos e Extensões

Embora, Implements e Extends sejam duas palavras-chave que fornecem um mecanismo para herdar atributos e comportamento de uma classe na linguagem de programação Java, elas são usadas para dois propósitos diferentes. A palavra-chave Implements é usada para uma classe implementar uma determinada interface, enquanto a palavra-chave Extends é usada para uma subclasse estender de uma superclasse. Quando uma classe implementa uma interface, essa classe precisa implementar todos os métodos definidos na interface, mas quando uma subclasse estende uma superclasse, ela 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 várias interfaces, mas só pode se estender de uma superclasse em Java. Em geral, o uso de Implements (interfaces) é considerado mais favorável em comparação ao uso de Extends (herança), por vários motivos, como maior flexibilidade e capacidade de minimizar o acoplamento. Portanto, na prática, é preferível programar para uma interface do que estender a partir de classes base.

Recomendado: