Java

Java Abstract Class

Java Abstract Class
O conceito de abstração é destacar a tarefa do objeto em vez de destacar, "como o objeto executa a tarefa". Este tipo de conceito pode ser implementado usando duas maneiras em Java. Estas são a classe abstrata e a interface. A 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. Os recursos da classe abstrata podem ser acessados ​​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 é mostrado neste tutorial.

Sintaxe:

classe abstrata className
variable_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úblico
livro 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 construtor
nú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.

Como instalar o League Of Legends no Ubuntu 14.04
Se você é fã de League of Legends, esta é uma oportunidade para testar o funcionamento de League of Legends. Observe que LOL é suportado no PlayOnLinu...
Instale o último jogo de estratégia OpenRA no Ubuntu Linux
OpenRA é um motor de jogo de estratégia em tempo real Libre / Free que recria os primeiros jogos Westwood como o clássico Command & Conquer: Red Alert...
Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...