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.

Abstraction is a process of managing complexity. In programming, it involves creating a simplified representation of a system or component. In Programación orientada a objetos, this is primarily done using abstract classes and interfaces. An abstract class is a class that cannot be instantiated on its own and is meant to be subclassed. It can contain abstract methods (methods without a body) that subclasses must implement. An interface is a similar concept but is purely abstract; it can only define method signatures, not implementations. A class can then ‘implement’ an interface, promising to provide the functionality defined in it.

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
Ciencias de la computación

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
  • gráfico interfaz de usuario Bibliotecas (GUI) que proporcionan widgets de alto nivel
  • protocolos de red como HTTP que abstraen la lógica subyacente TCP/IP comunicación
  • la biblioteca de plantillas estándar (stl) en C++

Patentes:

NA

Ideas para posibles innovaciones

  • API de computación en la nube (por ejemplo, AWS S3) que abstraen el hardware de almacenamiento subyacente
  • Marcos de desarrollo multiplataforma como React Native o Flutter
  • Bibliotecas de mapeo relacional de objetos (ORM) como Hibernate o Entity Framework
  • standardized apis for machine learning frameworks (e.g., scikit-learn’s estimator api)
  • La máquina virtual de Java (JVM) que abstrae el sistema operativo y el hardware subyacentes
  • Redes definidas por software (SDN) que abstraen el plano de control de la red
  • blockchain smart contract interfaces (e.g., erc-20 for tokens)
  • Capas de abstracción de hardware universales (HAL) para sistemas integrados
  • API para interactuar con modelos de lenguaje grandes (LLMS)
  • Marcos de programación de computación cuántica que abstraen los detalles del hardware cuántico
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)

décimo año aniversario

Las imágenes en tamaño completo y las descargas solo están disponibles, de forma totalmente gratuita, para los miembros registrados.

> Acceso <