Como usar métodos abstratos em java

Ambas as interfaces e classes abstratas têm métodos abstratos em Java. Mas os métodos abstratos jogar ligeiramente diferentes papéis nestes dois tipos de tipos de referência. Como você pode manter tudo em linha reta em sua mente?

Video: Aprenda java Fácil : Aula 15 - Classes e Métodos Abstratos

A primeira coisa a fazer é lembrar que ninguém aprende sobre conceitos de programação orientada a objeto sem obter muita prática em código escrito. Se você tem r você está confuso, que pode ser uma coisa boa. Isso significa que você tenha entendido o suficiente para saber o quão complicado este material é. Quanto mais código que você escreve, mais confortável você vai se tornar com classes, interfaces, e todas estas outras idéias.

A próxima coisa a fazer é resolver as diferenças na forma como você declarar métodos abstratos. Aqui está a história.

Video: Java - Aula 45: RPG - Classe/Método Abstrato

Usando (ou não usar) métodos abstratos
Em uma classe ordinária (Non-Abstract)Em uma interfaceEm uma classe abstrata
São métodos abstratos permitido?Nãosimsim
Pode uma declaração de método conter o abstrato palavra-chave?Nãosimsim
Pode uma declaração de método conter o padrão palavra-chave (que significa “não abstrato”)?NãosimNão
Nem com a abstrato nem o padrãonão abstratoAbstratonão abstrato

Ambas as interfaces e classes abstratas têm métodos abstratos. Então você pode estar se perguntando como você deve escolher entre declarar uma interface e declarando uma classe abstrata. Na verdade, você pode perguntar três programadores profissionais como as interfaces e classes abstratas diferem um do outro. Se você fizer isso, você pode ter cinco respostas diferentes. (Sim, cinco answers- não três respostas.)

Interfaces e classes abstratas são bestas semelhantes, e os novos recursos do Java 8 fez ainda mais semelhantes do que em versões Java anteriores. Mas a idéia básica é sobre as relações entre as coisas.

  • Estendendo-se uma subclasse representa um é um relação.
  • A implementação de uma interface representa um pode fazer relação.

Video: Classes abstratas e Interfaces – Aula 08 - Programação Orientada a Objetos



Se você quiser evidência mais tangível da diferença entre uma interface e uma classe abstrata, considere isto: Uma classe pode implementar várias interfaces, mas uma classe pode estender apenas uma outra classe, mesmo que uma classe é uma classe abstrata. Então, depois de ter declarado

public class Dog estende housepet

você não pode também fazer Cachorro estender uma Amigos classe. Mas você pode fazer Cachorro implementar um Befriendable interface. E então você pode fazer o mesmo Cachorro classe implementar um Treinável interface.

E, se você quer um mesmo Mais diferença tangível entre uma interface e uma classe abstrata, aqui está um para você: Uma interface não pode conter, campos não-finais não-estáticos.

Então lá. Interfaces e classes abstratas são diferentes um do outro. Mas se você é novo no jogo, você não deve se preocupar com a diferença. Basta ler tanto código quanto você pode, e não se assuste quando você vê um método abstrato. Isso é tudo que existe para ela.


Publicações relacionadas