Pero esto no significa que se utilice un enfoque orientado a objetos, este enfoque o filosofía es lo que nos va a permitir desarrollar, de una forma más profesional y avanzada programas más complejos y de mayor magnitud.
Definición de Clases
La programación orientada a objetos es básicamente construir un sistema donde podamos interconectar objetos, los objetos vienen definidos por las clases quienes resultan ser como las plantillas que van a definir las características de los mismos.
Esta es una explicación un poco simplista pero puede resultar clave para entender a que nos referimos, ya que el concepto clave de la orientación a objetos es la abstracción y como tal es algo complejo de ver a simple vista.
Pero no todos los círculos son iguales, unos tendrán un radio mayor, otros un radio menor, etc. Por lo que construir una clase por cada variación es algo que no debe ser, entonces es donde viene lo que habíamos mencionado como abstracción, simplemente definimos una clase, con la cual podamos construir todos los círculos que queramos simplemente agregando el valor de su atributo.
Entonces podemos definir la programación orienta a objetos, como la forma de llevar los objetos de la vida real a nuestros programas.
Como Definir una Clase
Para definir una clase de la que podamos sacar un objeto debemos definir varios elementos claves, veamos en la siguiente imagen un código donde se ha definido una clase para los círculos:
Primero notamos que le damos un nombre a la clase y este corresponde al objeto que queremos definir, luego indicamos que tiene un atributo, en este caso es el radio que es lo que define a nuestro objeto, luego tenemos dos métodos que se llaman igual que nuestra clase, estos son los llamados constructores que son los que hacen que nuestro objeto tome forma, finalmente tenemos un método que nos devuelve el área del círculo, es decir, una acción sobre nuestro objeto.
Como vemos esto nos da las bases para poder crear muchos objetos a partir de una misma definición, por ejemplo podríamos hacer 100 círculos únicamente con una clase y estos 100 círculos podrían ser todos diferentes, esto nos lleva a ahorrar una gran cantidad de código que haciendo una definición por cada circulo con un bucle.