Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Abstração em Java | Classe abstrata e método com exemplo

O que é abstração em Java?


Abstração em JAVA mostra apenas os atributos essenciais e oculta detalhes desnecessários do objeto do usuário. Em Java, a abstração é realizada usando a classe Abstract, métodos abstratos e interfaces. A abstração ajuda a reduzir a complexidade e o esforço da programação.

Neste tutorial, você aprenderá-

O que é classe abstrata?


AULA ABSTRATA é um tipo de classe em Java, que declara um ou mais métodos abstratos. Essas classes podem ter métodos abstratos, bem como métodos concretos. Uma classe normal não pode ter métodos abstratos. Uma classe abstrata é uma classe que contém pelo menos um método abstrato. Podemos entender o conceito pelo exemplo de forma em java .

Considere a seguinte hierarquia de classes que consiste em uma classe Shape que é herdada por três classes Rectangle, Circle e Triangle. A classe Shape é criada para economizar atributos e métodos comuns compartilhados pelas três classes Rectangle, Circle e Triangle. calcularArea() é um desses métodos compartilhado por todas as três classes filhas e presente na classe Shape.





Agora, suponha que você escreve código para criar objetos para as classes descritas acima. Vamos observar como esses objetos ficarão em um mundo prático.

Um objeto da classe retângulo dará um retângulo, uma forma que tão comumente observamos na vida cotidiana.



Um objeto da classe triângulo dará um triângulo, novamente uma forma comum do dia-a-dia.



Mas como seria um objeto de Class Shape em um mundo prático??



Se você observar que a classe Shape serve em nosso objetivo de alcançar herança e polimorfismo. Mas não foi construído para ser instanciado. Essas classes podem ser rotuladas como Abstract . Uma classe java abstrata não pode ser instanciada.

Sintaxe:

abstract class Shape{
	// code
}

É possível que você NÃO rotule a classe Shape como Abstrata e depois a instancie. Mas tal objeto não terá utilidade em seu código e abrirá espaço para possíveis erros. Portanto, isso não é desejável.

O que são métodos abstratos?


MÉTODO ABSTRATO em Java, é um método que possui apenas a definição do método, mas não contém a implementação. Um método sem corpo é conhecido como Método Abstrato. Deve ser declarado em uma classe abstrata. O método abstrato nunca será final porque a classe abstrata deve implementar todos os métodos abstratos.

Como todos sabemos, a fórmula para calcular a área do retângulo, círculo e triângulo é diferente. O método calculateArea() terá que ser substituído pelas classes herdadas. Não faz sentido defini-lo na classe Shape, mas precisamos garantir que todas as classes herdadas tenham o método.

Esses métodos podem ser rotulados como abstratos.

Sintaxe:
abstract public void calculateArea();

Para um método abstrato, nenhuma implementação é necessária. Apenas a assinatura do método é definida.

Exemplo de código de abstração

abstract class Shape{  
  abstract void calculateArea();  
}  
 class guru99 extends Shape{  
void calculateArea(){System.out.println("Area of Shape");}  
public static void main(String args[]){  
 Shape obj = new guru99();  
 obj.calculateArea();
}  
}

Classe abstrata em Java:pontos importantes

  • Uma classe abstrata pode também têm métodos concretos (completos).
  • Para fins de design, uma classe pode ser declarada abstrata mesmo que não contenha nenhum método abstrato
  • Referência de uma classe abstrata pode apontar para objetos de suas subclasses obtendo assim polimorfismo em tempo de execução Ex:Shape obj =new Rectangle();
  • Uma classe deve ser obrigatoriamente rotulada como abstrata, se tiver um ou mais métodos abstratos.

Palavra-chave final em Java


O modificador final se aplica a classes, métodos e variáveis. O significado de final varia de contexto para contexto, mas a ideia essencial é a mesma.
  • Uma classe final não pode ser herdada
  • Uma variável final se torna uma constante e seu valor não pode ser alterado.
  • Um método final não pode ser substituído. Isso é feito por motivos de segurança e esses métodos são usados ​​para otimização.

Exemplo :- Para aprender palavras-chave abstratas e finais

Etapa 1) Copie o código a seguir em um Editor.
abstract class Shape{
   final int b = 20;
   public void display(){
     System.out.println("This is display method");
   }
   abstract public void calculateArea();
}

public class Rectangle extends Shape{
   public static void main(String args[]){
      Rectangle obj = new Rectangle();
      obj.display();
     //obj.b=200;
  }
  //public void calculateArea(){}
}

Etapa 2) Salve, compile e execute o código.

Etapa 3) Erro =? O método abstrato não é implementado na classe Rectangle. Para corrigir o problema, descomente a linha #15.

Etapa 4) Descomente linha # 13 . Salve e compile o código.

Etapa 5) Erro =? a variável b é final

Regras do método abstrato
  • Métodos abstratos não têm implementação; ele só tem assinatura de método
  • Se uma classe estiver usando um método abstrato, ela deve ser declarada abstrata. O contrário não pode ser verdade. Isso significa que uma classe abstrata não tem necessariamente um método abstrato.
  • Se uma classe regular estende uma classe abstrata, então essa classe deve implementar todos os métodos abstratos do pai abstrato

Java

  1. Classe abstrata e método C#
  2. Classe abstrata Java e métodos abstratos
  3. Tutorial de classe abstrata C# com exemplo:O que é abstração?
  4. Método String Length () em Java:como encontrar com exemplo
  5. Método Java String charAt() com exemplo
  6. String Java contém() Método | Verificar substring com exemplo
  7. Java String EndsWith() Método com Exemplo
  8. Interface vs classe abstrata em Java:qual é a diferença?
  9. Java BufferedReader:Como Ler Arquivo em Java com Exemplo
  10. Algoritmo de ordenação por inserção em Java com exemplo de programa