Java Classe Abstract

Java Classe Abstract
O conceito de abstração é destacar a tarefa do objeto em vez de destacar: "Como o objeto faz a tarefa". Esse tipo de conceito pode ser implementado usando duas maneiras em Java. Estas são a classe e interface abstratas. Classe abstrata contém a palavra -chave abstrato. Esta classe não pode ser iniciada como outras classes normais, mas uma subclasse pode ser derivada herdando a classe abstrata. As características da classe abstrata podem ser acessadas criando o objeto da subclasse. Uma classe abstrata também pode conter o construtor que pode ser acessado criando o objeto da classe de subclasse. Como você pode usar uma classe abstrata em Java é mostrada neste tutorial.

Sintaxe:

Classe de classe abstrata nome
variable_names;
Método abstrato1 ();
Public Method2 ()
Declaramentos 1… n

Uma classe abstrata pode conter atributo ou variáveis, método abstrato e método normal ou qualquer um deles. Mas a subclasse da classe abstrata pode implementar apenas 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 a maneira de 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.

// Defina classe abstrata com método público
Livro da classe abstrato
public void Detalhes ()
Sistema.fora.println ("Nome do livro: Aprenda PHP em 15 minutos");
Sistema.fora.println ("Nome do autor: Jake Wright");
Sistema.fora.println ("Preço de desconto: US $ 35");


// Defina subclasse
classe PHP estende o livro

// classe principal
classe Resumo1
public static void main (string [] args)
php bk = new php ();
bk.detalhes();

Saída:

A saída a seguir aparecerá após a execução do código. Aqui o detalhes() Método de classe abstrato é chamado e o texto é impresso a partir do método.

Exemplo 2: classe abstrata com o método abstrato e 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 declarações do método público são definidas dentro da classe abstrata, mas o corpo do método abstrato está vazio que é implementado dentro da subclasse da classe abstrata. Aqui, duas subclasses são declaradas estendendo a classe abstrata. A subclasse nomeada quadrado calculará e imprimirá a área de um quadrado baseado no valor de n variável. A subclasse nomeada retângulo 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 nomeado tipo para identificar quais variáveis ​​da classe abstrata serão inicializadas. O valor do tipo A variável será 1 para inicializar o valor de n e 2 para inicializar o valor de h e c.

// define uma classe abstrata com um método abstrato e um método público
classe abstrata área
public int n, h, w;
Resultado de vazio abstrato ();
public void readData (int tipo)
if (type == 1)
n = 10;

outro
h = 20;
w = 30;



// define subclasse quadrada
classe Square estende a área
resultado vazio público ()
// Calcule a área do quadrado
int AreaVal = n*n;
Sistema.fora.println ("A área do quadrado é" + AreaValVal);


// define subclasse retângulo
classe retângulo estende a área
resultado vazio público ()
// Calcule a área do retângulo
int AreaVal = H*W;
Sistema.fora.println ("A área do retângulo é" + AreaVal);


// classe principal
classe abstract2
public static void main (string [] args)
// Crie objeto da classe quadrada
quadrado sq = novo quadrado ();
sq.readData (1);
sq.resultado();
// Crie objeto da classe retângulo
retângulo rq = new retângulo ();
rq.readData (2);
rq.resultado();

Saída:

A saída a seguir 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 Abstract 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 inicializará os valores de a e b. O método abstrato, maxval () é implementado na subclasse nomeada FindMax. super() O método é usado no construtor da subclasse para chamar o construtor de uma classe abstrata. O método abstrato maxval () 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 de objetos.

// Defina uma classe abstrata com um construtor
Classe abstrata números
// Declare variáveis
final protegido int a, b;
// construtor de classe abstrata
números públicos (int x, int y)
esse.a = x;
esse.b = y;

// Método público
Public Abstract Void Maxval ();

// Defina subclasse
classe findmax estende números
// Construtor de subclasse
public findmax (int x, int y)
// Ligue para o construtor de classe abstrata
super (x, y);

// Implementar o método abstrato
public void maxval ()
if (a> b)
Sistema.fora.println (a + "é maior que" + b);

outro
Sistema.fora.println (b + "é maior que" + a);



// classe principal
classe abstract3
public static void main (string [] args)
// Crie objeto da subclasse
FindMax fmax = new FindMax (34,89);
// Encontre o máximo
fmax.maxval ();

Saída:

A saída a seguir aparecerá após a execução do script. Aqui, 34 e 89 são dados como valores de parâmetros 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 possam entender o uso da classe abstrata e aplicá -la em seu código corretamente depois de ler este tutorial.