Classes Abstratas
Exames: Classes Abstratas. Pesquise 861.000+ trabalhos acadêmicosPor: leonardogomes17 • 23/9/2014 • 566 Palavras (3 Páginas) • 392 Visualizações
Classes Abstratas
Classes abstratas tem uma função importante na orientação a objeto em Java.
De forma objetiva, uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos).
Como classes abstratas são modelos de classes, então, não podem ser instanciadas diretamente com o new, elas sempre devem ser herdadas por classes concretas.
Outro fato importante de classes abstratas é que elas podem conter ou não métodos abstratos, que tem a mesma definição da assinatura de método encontrada em interfaces. Ou seja, uma classe abstrata pode implementar ou não um método.
Os métodos abstratos definidos em uma classe abstrata devem obrigatoriamente ser implementados em uma classe concreta. Mas se uma classe abstrata herdar outra classe abstrata, a classe que herda não precisa implementar os métodos abstratos.
Para criarmos uma classe ou método abstrato usamos a palavra-chave abstract.
Exemplo :
01.package classeAbstrata;
02.
03.public abstract class Eletrodomestico {
04.private boolean ligado;
05.private int voltagem;
06.
07.// métodos abstratos //
08./*
09.* não possuem corpo, da mesma forma que
10.* as assinaturas de método de uma interface
11.*/
12.public abstract void ligar();
13.public abstract void desligar();
14.
15.// método construtor //
16./*
17.* Classes Abstratas também podem ter métodos construtores,
18.* porém, não podem ser usados para instanciar um objeto diretamente
19.*/
20.public Eletrodomestico(boolean ligado, int voltagem) {
21.this.ligado = ligado;
22.this.voltagem = voltagem;
23.}
24.
25.// métodos concretos
26./*
27.* Uma classe abstrata pode possuir métodos não abstratos
28.*/
29.public void setVoltagem(int voltagem) {
30.this.voltagem = voltagem;
31.}
32.
33.public int getVoltagem() {
34.return this.voltagem;
35.}
36.
37.public void setLigado(boolean ligado) {
38.this.ligado = ligado;
39.}
40.
41.public boolean isLigado() {
42.return ligado;
43.}
44.}
Métodos Abstratos
Os Métodos Abstratos são fundamentais quando você quer utilizar métodos genéricos. Os métodos abstratos não possuem corpo, você pode usar um método implementado na classe Pai que tenha uma chamada sobre um método abstrato, e a implementação do método abstrato varia de acordo com a classe filha, ou seja, o método da classe pai chama o método abstrato da classe filha ou seja são métodos definidos em uma classe mas não implementados nela apenas em suas subclasse.
Atributos
Em uma classe abstrata
...