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?
Conteúdo
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
Em uma classe ordinária (Non-Abstract) | Em uma interface | Em uma classe abstrata | |
São métodos abstratos permitido? | Não | sim | sim |
Pode uma declaração de método conter o abstrato palavra-chave? | Não | sim | sim |
Pode uma declaração de método conter o padrão palavra-chave (que significa “não abstrato”)? | Não | sim | Não |
Nem com a abstrato nem o padrão | não abstrato | Abstrato | nã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.