OOP no es importante por sí mismo, sino por lo que conlleva.
Algo que trata con la capacidad de abstraer y aislar, agrupar cosas.
En conjunto, exponga solo las partes que deben interactuar entre sí.
Esta es una técnica de ingeniería común llamada "modularización", que permite
Crea sistemas complejos como agregación de los más simples, sin tener que cuidarlos.
Todos los detalles a alto nivel, y que requieren que los componentes sean reemplazables,
incluso sin que sean exactamente iguales.
Esos "conceptos de ingeniería" se han intentado mantener en el software
desarrollo desde el momento en que los productos de software se habían vuelto más grandes que los
"capacidad de desarrollador único", que requiere una forma de hacer que los desarrolladores trabajen
en piezas independientes, y deje que esas piezas interactúen entre sí.
Dicho esto, esos principios no se encuentran necesariamente solo en la POO (es la
La teoría de la computación es válida, hay infinitos métodos posibles.
para llegar a esos resultados).
OOP es simplemente un intento exitoso de juntar esas cosas,
dando a esos términos generales (como módulos, encapsulación, sustitución) más
Definiciones precisas y conceptualización elaborada sobre esas definiciones.
(patrones) que puede encajar en los lenguajes de programación.
Piense en OOP primero no como " función de idioma " sino como " léxico común " que
Hace que los ingenieros de software se acerquen al diseño del software.
El hecho de que un idioma dado tenga o no primitivas que lo apliquen directamente
El léxico garantiza, por ejemplo, que una "cápsula" no se abra de forma involuntaria por quien no está
Se supone que hacer eso es un aspecto secundario del diseño OOP.
Es por eso que incluso los grandes proyectos de C a menudo se "gestionan como" OOP, incluso si el lenguaje
en sí no ofrece soporte directo para eso.
La ventaja de todo lo que no se puede reconocer hasta que el tamaño del proyecto permanezca en
La capacidad del desarrollador individual para comprender y rastrear todo lo que hace.
(de hecho, en esas situaciones puede incluso verse como "gastos generales") o en una pequeña
Grupo desarrollando algo en poco tiempo.
Y esa es la razón principal por la cual los juniors que estudiaron OOP en términos de una "característica de lenguaje"
a menudo lo malinterpretan produciendo código mal diseñado.
La forma en que OOP se adapta a los idiomas depende de cómo los diseñadores de idiomas interpretan
El principio OOP en su propia construcción.
Entonces, "encapsulación" en C ++ se convierte en "miembros privados" (y una "cápsula" se convierte en una clase),
"sustitución" se convierte en funciones virtuales anuladas o parametrización / especialización de la plantilla, etc.
mientras que en D una cápsula es un "módulo" (y la sustitución pasa por clases, etc.), por lo tanto
poniendo cierto paradigma o patrón directamente disponible en un idioma dado y
no en otro y así sucesivamente.
Lo que buscan los reclutadores al hacer una pregunta de POO es simplemente verificar su capacidad para
Resuma y conciba el diseño de software para futuros grandes proyectos y desarrollos.
OOP, para ellos es solo un "diccionario" que supusieron que tanto usted como ellos saben para que
puede hablar sobre otras cosas más generales o concretar en una implementación específica.