O que é uma classe abstrata?
Na programação orientada a objetos, uma classe abstrata fornece uma classe base que pode ser usada para fornecer a outras classes implementação e interface parciais. Eles são incompletos por si mesmos e usados em situações de herança em muitas linguagens de programação, como Java, C ++ e C#. Seu uso como classe base significa que eles são frequentemente referidos como uma classe base abstrata (ABC).
Uma parte integrante da programação orientada a objetos, a abstração de dados remove os detalhes desnecessários de um objeto. Essencialmente, ele resume o objeto às suas principais características de identificação. Essas características básicas fornecem um plano que pode ser usado para criar outros objetos com as mesmas propriedades, apenas diferindo nos detalhes.
Este plano é definido como uma classe. As classes são usadas para encapsular o código, facilitando o programador, porque ele pode fazer referência a rotinas comuns específicas em vez de escrever as rotinas repetidamente. Os programadores criam objetos infantis a partir de classes, e estes oOs objetos herdam as funções e métodos da classe pai.
O objetivo de uma classe abstrata é ser a estrutura sobre a qual outras classes são construídas. Os objetos não podem ser criados diretamente a partir de uma classe abstrata, apenas das subclasses pertencentes à classe abstrata. Para um objeto herdar de uma classe abstrata, uma subclasse deve ser criada. Objetos de uma subclasse criada de uma classe abstrata herdar propriedades dessa classe abstrata.
Toda classe modela um conceito, e classes abstratas tendem a modelar conceitos mais abstratos usando métodos abstratos. Os métodos abstratos são sub -rotinas dentro de uma classe abstrata que não contém implementação. Essas sub -rotinas são usadas como espaços reservados para serem substituídos por uma subclasse ou um objeto projetado com base na classe que contém o próprio método abstrato.
Existem diferentes métodos de criação de uma classe abstrata. Por exemplo, em c ++, um aA classe Bstract é criada desenvolvendo uma classe com pelo menos um método abstrato ou função virtual pura. Java usa uma palavra -chave, "Resumo", para denotar uma classe abstrata. Eles não são, no entanto, definidos em linguagens de programação que não apóiam a idéia de herança.
herança é o processo de criação de novos objetos a partir de classes, onde os novos objetos podem usar as funções e métodos definidos nas classes pais sem a necessidade de reafirmar o programa. É por isso que uma classe abstrata é útil. Classes infantis e objetos infantis dessas subclasses herdam propriedades da classe abstrata dos pais. As classes abstratas são consideradas superclasses e estão no topo da hierarquia da estrutura de classes, portanto não têm sentido em um idioma que não suporta herança.