Qual é a diferença entre abstração e classe abstrata e onde elas serão usadas em tempo real?

Para entender a Abstração, começaremos do básico

significado da abstração

. Abstrato significa algo que está em pensamentos, mas não existe na realidade. É assim que sabemos o que deve ser feito, mas não sabemos como isso seria feito.

Tomemos um exemplo: existe uma classe 'Shape' que contém o método 'area ()', mas não podemos implementar o método area () aqui, pois não sabemos qual será a forma (um quadrado, um retângulo, um triângulo ou qualquer outro outra forma) no futuro. Nesse caso, declararemos area () na classe Shape e implementaremos o mesmo método em nossas subclasses conforme o requisito.

Exemplo:

  1. classe abstrata pública Shape {área abstrata vazia pública (int var); // Método abstrato} classe pública Circle estende Shape {int radius; pi duplo = 3,14; área vazia pública (int var) {raio = var; System.out.println ("Área do círculo:" + (pi * raio * raio)); }} classe pública Square estende Shape {int side; área vazia pública (int var) {side = var; System.out.println ("Área do quadrado:" + lado * lado); }} public class Resultado {public static void main (String [] args) {Shape obj = new Square (); área obj (4); Forma obj1 = new Circle (); obj1.area; }}

No JAVA, a abstração pode ser obtida usando a classe abstrata, métodos abstratos e interface. Usando a classe abstrata, podemos alcançar os diferentes níveis de abstração, mas usando as interfaces, podemos obter 100% de abstração.

Classe abstrata:

  • Uma classe abstrata seria declarada usando a palavra-chave 'abstract'.
  • A criação do objeto não é possível de uma classe abstrata.
  • Pode conter membros de dados, métodos, métodos abstratos, construtores.
  • Os membros dos dados não podem ser abstratos.
  • Ele deve ser herdado por Leia mais…

Java Conceito de Programação Orientada a Objetos (OOPs) - Blogs tudo em um

http://www.allinoneblogs.com/java-tutorials/java-programs/user-inputs-via-command-prompt-using-arguments-of-main-method-of-a-class/

http://www.allinoneblogs.com/java-tutorials/basic

Página inicial - Blogs tudo em um

A abstração está ocultando alguns detalhes e mostrando apenas recursos essenciais para o mundo. Na classe abstrata, definimos o comportamento que é encontrado em todos os objetos, mas é usado pelos diferentes objetos de maneira diferente.

Quando um comportamento comum é usado por diferentes objetos de maneiras diferentes, declaramos esses métodos como abstratos na classe abstrata. As subclasses que herdam a superclasse abstrata substituem o método à sua maneira.

Abstração basicamente oculta a implementação de um objeto do usuário. Apenas expõe a interface. Por exemplo, estou digitando esta resposta no Quora, agora internamente ele invocará uma API que salvará minha resposta em um armazenamento de dados. Como isso é implementado não é exposto a mim. Tudo o que sei é que quando escrevo e clico no botão enviar, o conteúdo será salvo.

Classes abstratas, contêm uma palavra-chave abstrata e podem conter um ou mais métodos abstratos, isto é, métodos sem implementação, apenas uma declaração. Você não pode instanciar uma classe abstrata e, para fazer uso dela, é necessário estender a classe.

Esses são dois termos completamente diferentes. Classe abstrata é apenas um nome para uma classe para a qual você espera que não seja instanciado diretamente. (Como 'Animal'. Você criará 'Dog' e 'Cat' que derivam de 'Animal'. Mas você nunca instanciaria o próprio 'Animal')

A abstração é um termo muito mais abstrato (perdoe o trocadilho). É uma camada na qual você percebe o problema. Para um exemplo trivial: Quando você deseja ferver um pouco de água, pressione um botão na chaleira. Ele fecha o circuito eletrônico e, devido à alta resistividade da placa de metal, produz calor que é absorvido pela água. Mas você não precisa saber tudo isso para ferver a água. Você só precisa saber que quando você clica no botão, a água começa a ferver uniformemente. Tudo o que está por baixo não é importante para você resolver o problema. Essa é a sua camada de abstração.

Não se confunda com Abstração e classe abstrata, ambas são diferentes.

Abstração: um dos quatro tipos de conceito OOPS. Significa ocultar a complexidade de um objeto por meio de composição (subdivisão) e agregação (união). A abstração é conhecida como relação Has-A, por exemplo, o aluno tem um nome, o aluno tem uma caneta, o carro tem um mecanismo, ou seja, todos estão tendo uma relação Has-A.

Suponha que tenhamos uma classe Student, portanto, quando criarmos um programa usando a relação Has-A, criaremos outras classes como endereço, caneta, nome (composição, ou seja, subdividir suas partes) e, em seguida, no Student, criaremos um objeto para cada classe e acesse os recursos do aluno e também seus próprios recursos, removendo a complexidade e, portanto, não haverá confusão.

Classe abstrata: Resumo significa o que você sente, mas você não sabe o que dizer. por exemplo, você está fazendo um pedido de jogo e deseja que seu jogador inicie o jogo sempre que pressionar o botão 5 para criar um método chamado kick, mas a coisa é que você não sabe o que escrever um código, apenas torne um método não implementado e declará-lo ou implementá-lo em outra classe e, portanto, a classe que possui métodos não implementados é escrita como abstrata. LEMBRE-SE: A classe abstrata pode ter métodos implementados e não implementados e não podemos criar um objeto de classe abstrata

Antes de tudo, deixe claro que ambas são coisas diferentes, ou seja; Abstração é o conceito de OOPS e as classes Abstratas são destinadas a expor / ocultar coisas com base em determinados critérios

Abstração:

É um dos princípios do conceito OOPS que mostra detalhes relevantes para usuários externos e oculta detalhes de implementação

Classes abstratas:

Uma aula com

resumo

A palavra-chave na declaração de classe é conhecida como classe abstrata em Java. Diferentemente da classe, uma classe abstrata pode conter métodos abstratos e métodos concretos (ou seja, métodos com chaves e corpo do método ou implementação de método)

Aprender

aulas abstratas

detalhes aqui

  • Java: Classes e métodos abstratos com exemplo
  • Java: Interface v / s Classes abstratas
  • Perguntas e respostas da entrevista sobre classes e métodos abstratos de Java