No mundo da codificação aplicações informáticas , é uma coisa boa para ser um programador preguiçoso. Especificamente , ele economiza tempo de usar ferramentas que outros programadores criadas com um fim específico , em vez de sair para re-inventar a roda. Na linguagem de programação Java, duas das formas essas ferramentas programadores fazem para si ou para outros programadores podem tomar são as interfaces e classes abstratas . Classe Modelos
Ambas as interfaces e classes abstratas servem como uma espécie de modelo para uma determinada classe. Os programadores criar essas classes , a fim de especificar certos comportamentos genéricos para a classe , e permitir que o programador individual que acaba usando a classe para especificar os comportamentos da classe para a aplicação particular do programador. Enquanto ambos atuam como modelos gerais , eles têm diferentes protocolos para declarações e impõem diferentes exigências do programador final .
Classe Declarações e Implementações
programadores especificar se uma classe é uma interface ou uma classe abstrata com diferentes palavras-chave na declaração da classe. Isso vai ser de "interface" , seguido do nome da interface, ou " classe abstrata ", seguido do nome da classe . Os programadores que utilizam tanto a classe abstrata ou interface não usar a classe diretamente, mas criar uma sub-classe do tipo de classe especial que será utilizado . Para usar uma interface, um programador gostaria de acrescentar " interface de implementos ", onde "Interface " é o nome da interface particular. Para usar uma classe abstrata , um programador gostaria de acrescentar " estende abstractclass " onde " abstractclass " é o nome da classe abstrata .
Implementações de método
Subclasses podem substituir métodos da sua classe pai (neste caso, a interface ou classe abstrata ) . Quando um programador declara um método com o mesmo nome de um método na classe principal , então o programa irá usar o código para o método , que o utilizador fornece ao invés de o código no método pai . Em classes abstratas , alguns métodos serão declarados como "abstrato ". Estes métodos lidar com os detalhes de como uma classe será usado , eo programador final tem de sobrepor-se aos métodos que são declarados como abstrata . Em interfaces, o usuário final tem que sobrepor- cada método na interface.
Situacional Use
Estas diferenças funcionais se prestam a usos específicos. Usando uma interface garante que uma classe particular irá cumprir todos os requisitos para uma estrutura de dados particular. Por exemplo, um programador que fez a sua própria biblioteca de funções de conexão de rede pode tornar os programadores usam e classe de interface que ele desenhou para dados que o programador final quer enviar usando essas funções. A interface vai garantir que qualquer transmissão de saída terá tudo as bibliotecas precisam para enviar com êxito esses dados. Alternativamente , o mesmo programador poderia fazer uma classe abstrata que continha métodos que detalhou as porcas e parafusos de enviar os dados , mas necessários ao programador fim a mais -ride certos métodos que lidam com o local onde os dados seriam enviados ou o que seria enviado .