Sintaxe:
classe abstrata classNamevariable_names;
método abstrato 1 ();
public method2 ()
declarações 1 ... N
Uma classe abstrata pode conter atributos ou variáveis, método abstrato e método normal ou qualquer um deles. Mas a subclasse da classe abstrata só pode implementar o método abstrato da classe abstrata.
Exemplo-1: classe abstrata com um método público
O exemplo a seguir mostra como você pode declarar uma classe abstrata com um método público e como usar uma classe abstrata criando uma subclasse. Aqui, a classe abstrata contém um método público chamado detalhes() que é implementado dentro da classe abstrata. O objeto da subclasse é criado para acessar o método público da classe abstrata.
// Definir classe abstrata com método públicolivro de aula abstrata
public void details ()
Sistema.Fora.println ("Nome do livro: Aprenda PHP em 15 minutos");
Sistema.Fora.println ("Nome do autor: Jake Wright");
Sistema.Fora.println ("Preço com desconto: $ 35");
// Definir subclasse
class php extends book
// classe principal
class abstract1
public static void main (String [] args)
php bk = novo php ();
bk.detalhes();
Resultado:
A seguinte saída aparecerá após a execução do código. Aqui o detalhes() método da classe abstrata é chamado, e o texto é impresso a partir do método.
Exemplo 2: classe abstrata com o método abstrato e o método público
O exemplo a seguir mostra como uma classe abstrata pode ser declarada com variáveis, um método abstrato e um método público. As instruções do método público são definidas dentro da classe abstrata, mas o corpo do método abstrato está vazio e é implementado dentro da subclasse da classe abstrata. Aqui, duas subclasses são declaradas estendendo a classe abstrata. A subclasse chamada quadrado irá calcular e imprimir a área de um quadrado com base no valor de n variável. A subclasse chamada retângulo irá calcular e imprimir a área do retângulo com base no valor de h e C variáveis. O método público, readData () é chamado por um parâmetro chamado modelo para identificar quais variáveis da classe abstrata serão inicializadas. O valor do modelo variável será 1 para inicializar o valor de n e 2 para inicializar o valor de h e C.
// Defina uma classe abstrata com um método abstrato e um método públicoárea de classe abstrata
público int n, h, w;
resultado vazio abstrato ();
public void readData (int type)
if (tipo == 1)
n = 10;
senão
h = 20;
w = 30;
// Definir subclasse quadrada
o quadrado da classe estende a área
public void result ()
// Calcule a área do quadrado
int areaVal = n * n;
Sistema.Fora.println ("A área do quadrado é" + areaVal);
// Definir subclasse de retângulo
retângulo de classe estende área
public void result ()
// Calcula a área do retângulo
int areaVal = h * w;
Sistema.Fora.println ("A área do retângulo é" + areaVal);
// classe principal
class abstract2
public static void main (String [] args)
// Cria o objeto da classe quadrada
quadrado sq = novo quadrado ();
sq.readData (1);
sq.resultado();
// Cria o objeto da classe retângulo
retângulo rq = novo retângulo ();
rq.readData (2);
rq.resultado();
Resultado:
A seguinte saída aparecerá após a execução do código. A saída mostra a área de um quadrado onde o valor de n é 10 e a área de um retângulo onde o valor de h é 20, e o valor de C é 30.
Exemplo-3: classe abstrata com o construtor
O exemplo a seguir mostra como o construtor pode ser declarado e usado em uma classe abstrata. O construtor da classe abstrata irá inicializar os valores de uma e b. O método abstrato, maxval () é implementado na subclasse chamada findMax. super() método é usado no construtor da subclasse para chamar o construtor de uma classe abstrata. O método abstrato maxval () irá descobrir o valor máximo de dois números que serão dados aos parâmetros do construtor da subclasse no momento da criação do objeto.
// Defina uma classe abstrata com um construtornúmeros de classe abstratos
// declara variáveis
final protegido int a, b;
// construtor de classe abstrata
números públicos (int x, int y)
esta.a = x;
esta.b = y;
// Método público
resumo público void maxval ();
// Definir subclasse
classe findMax extends numbers
// Construtor de subclasse
public findMax (int x, int y)
// Chame o construtor da classe abstrata
super (x, y);
// Implementar método abstrato
public void maxval ()
if (a> b)
Sistema.Fora.println (a + "é maior que" + b);
senão
Sistema.Fora.println (b + "é maior que" + a);
// classe principal
class abstract3
public static void main (String [] args)
// Cria o objeto da subclasse
findMax fmax = novo findMax (34,89);
// Encontre o máximo
fmax.maxval ();
Resultado:
A seguinte saída aparecerá após a execução do script. Aqui, 34 e 89 são dados como valores de parâmetro do construtor. Esses valores são comparados no método abstrato que é implementado na subclasse e impresso a seguinte mensagem.
Conclusão:
Uma classe abstrata é usada para tornar o programa mais organizado e compreensível. Várias classes relacionadas podem ser agrupadas usando classes abstratas. O conceito e a implementação da classe abstrata com diferentes partes são explicados neste tutorial usando exemplos simples. Espero que os leitores sejam capazes de entender o uso da classe abstrata e aplicá-la em seu código corretamente após ler este tutorial.