Object-oriented programming (OOP) incorporates several fundamental concepts that enhance software development. Modularity allows an application to be divided into smaller, self-contained parts known as modules, promoting independence between components.
Se puede decir que un objeto es todo aquello que pueda ser identificable dentro de una especificación de requerimientos o problema
clase
Una clase es una construcción que permite crear tipos personalizados propios mediante la agrupación de variables de otros tipos
polimorfismo
capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en función de los parámetros utilizados durante su invocación.
abstraccion
La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan.
modularidad
la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
encapsulamiento
ocultamiento del estado, es decir, de los datos miembro de un objeto de manera que solo se pueda cambiar mediante las operaciones definidas para ese objeto.
herencia
mecanismo más utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la reutilización y la extensibilidad.