Metodo abstrato e interface

2 respostas
D

Qual a utilidade de métodos abstratos e interface, já que ambos não fazem nada? Pra que ter a assinatura do metodo se eu posso escreve-lo diretamente no codigo, não entendo.

2 Respostas

luciano.eti

Como define a Wikipedia:

A orientação a objetos, também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programação.

A Caelum define:

…modificadores de acesso, herança, classes abstratas e interfaces demonstram o conceito
fundamental que o curso quer passar: encapsule, exponha o mínimo de suas classes, foque no que elas fazem, no relacionamento entre elas. Com uma modelagem boa a codificação fica fácil e a modificação e expansão do sistema também.

Post do GUJ:

Diferença funcional nenhuma.
Mas em relação a projeto, existe uma diferença significativa.
Quando você fala que vai herdar de uma classe abstrata no seu projeto quer dizer que quem herda é um tipo da classe abstrata, só que especializada.
E o conceito de interfaces, você usa como um serviço que a classe possui.
Quem implementa a interface PersistenciaDAOIf tem que prover todos serviços dessa interface, sem necessariamente ser um PersistenciaDAO.

Perceba que a COMPOSIÇÃO e a INTERAÇÃO são conceitos intrínsecos na OO. Assim abstração, métodos estáticos e Interface vêm para generalizar objetos e seus usos obtendo maior reaproveitamento dos mesmos.

Estude, entenda e implemente os casos…

Sem falar que será essencial o entendimento destes conceitos para estudar Threads e Collections bem como inúmeros recursos do Java…acredito que ao ver exemplos como as implementações Runnable, Comparable e outras ajudará e muito…bons estudos!

[]'s

R

Existem várias vantagens, vou citar uma de cada
imagine que voce é um gerente de um projeto, voce tem varios programadores e voce quer definir como serao os metodos,
entao voce poderia fazer uma interface em que voce define cada método e como ele será,

uma utilidade para a classe abstrata é criar uma classe em que uma parte será padrão( será implementada na mãe) e a outra parte que será variavel voce obrigará a filha implementar, voce pode perguntar se eu implementasse tudo na classe mae e na filha somente sobreescrevesse o metodo, funcionaria entretanto voce nao estaria obrigando a filha a fazer nada.

é uma forma de voce “linkar”, criar obrigações, padrões nas classes.

Criado 5 de julho de 2009
Ultima resposta 5 de jul. de 2009
Respostas 2
Participantes 3