Product Design, Manufacturing & Innovation Resources
Hogar » Abstracción (programación orientada a objetos)

Abstracción (programación orientada a objetos)

1970
  • Barbara Liskov
Ingeniero de software que codifica clases abstractas en un entorno IDE moderno.

(Imagen generada únicamente con fines ilustrativos)

Abstracción en Programación orientada a objetos Se trata del concepto de ocultar los detalles complejos de implementación y mostrar solo las características esenciales del objeto. Se centra en lo que hace un objeto en lugar de cómo lo hace. Esto se logra mediante clases abstractas e interfaces, que definen un modelo para otras clases sin proporcionar una implementación completa, simplificando así los sistemas complejos.

La abstracción es un proceso de gestión de la complejidad. En programación, implica crear una representación simplificada de un sistema o componente. En la programación orientada a objetos (POO), esto se realiza principalmente mediante clases abstractas e interfaces. Una clase abstracta es una clase que no puede instanciarse por sí misma y está diseñada para ser subclaseada. Puede contener métodos abstractos (métodos sin cuerpo) que las subclases deben implementar. Una interfaz es un concepto similar, pero es puramente abstracta; solo puede definir firmas de métodos, no implementaciones. Una clase puede entonces «implementar» una interfaz, comprometiéndose a proporcionar la funcionalidad definida en ella.

Esto permite a los programadores definir un contrato o API común al que pueden adherirse varias clases diferentes. Por ejemplo, una interfaz "Storable" podría definir los métodos "save()" y "load()". Diferentes clases como "Document", "Image" y "UserSettings" podrían implementar la interfaz "Storable", cada una proporcionando su propia lógica para guardar y cargar. El código que trabaja con objetos "Storable" no necesita saber el tipo específico de objeto con el que está tratando; solo necesita saber que puede llamar a "save()". y `load()`. Esto desacopla el código del cliente de las implementaciones específicas, lo que hace que el sistema sea más modular, flexible y fácil de entender a un alto nivel.

UNESCO Nomenclature: 1203
- Informática

Tipo

Sistema abstracto

Ruptura

Fundacional

Uso

Uso generalizado

Precursores

  • abstracción matemática
  • El concepto de subrutinas y funciones como una forma de abstracción procedimental
  • teoría de tipos de datos abstractos (tdA)
  • La necesidad de gestionar la complejidad en proyectos de ingeniería a gran escala

Aplicaciones

  • Capas de acceso a bases de datos (DAL) que ocultan las consultas SQL específicas
  • Controladores de dispositivos que abstraen la complejidad del hardware del sistema operativo
  • Bibliotecas de interfaz gráfica de usuario (GUI) que proporcionan widgets de alto nivel
  • Protocolos de red como HTTP que abstraen la comunicación TCP/IP subyacente
  • la biblioteca de plantillas estándar (stl) en C++

Patentes:

NA

Ideas para posibles innovaciones

Debido al bloqueo del tráfico generado por bots, que actualmente supera los 40.000 al día, este contenido está reservado para los miembros de la comunidad.
> Iniciar sesión < o > Registrarse < (100% gratis) para acceder a esto, al igual que a todo el demás contenido y herramientas restringidos.

Relacionado con: abstracción, interfaz, clase abstracta, API, ocultamiento de información, complejidad, POO, contrato, desacoplamiento, modularidad.

Contexto histórico

Abstracción (programación orientada a objetos)

1967
1967
1970
1970
1970
1970-01-01
1975-06-01
1960
1967
1970
1970
1970
1970
1973
1980

(Si la fecha es desconocida o no es relevante, por ejemplo "mecánica de fluidos", se proporciona una estimación redondeada de su aparición notable)

Invención, innovación y principios técnicos relacionados.

Las imágenes a tamaño completo y las descargas sólo están disponibles, 100% gratis, para los miembros registrados.

> Acceso <