Ejemplos de clases en programacion orientada a objetos

Clases en oops con ejemplo

Python ha sido un lenguaje orientado a objetos desde que existe. Debido a esto, crear y usar clases y objetos es francamente fácil. Este capítulo te ayuda a convertirte en un experto en el uso del soporte de programación orientada a objetos de Python.

Si no tienes ninguna experiencia previa con la programación orientada a objetos (OO), puede que quieras consultar un curso introductorio sobre ella o al menos un tutorial de algún tipo para que tengas una idea de los conceptos básicos.

Python borra los objetos innecesarios (tipos incorporados o instancias de clases) automáticamente para liberar el espacio de memoria. El proceso por el cual Python recupera periódicamente bloques de memoria que ya no están en uso se denomina Recolección de Basura.

El recolector de basura de Python se ejecuta durante la ejecución del programa y se activa cuando la cuenta de referencias de un objeto llega a cero. La cuenta de referencias de un objeto cambia a medida que cambia el número de alias que apuntan a él.

La cuenta de referencias de un objeto aumenta cuando se le asigna un nuevo nombre o se coloca en un contenedor (lista, tupla o diccionario). El recuento de referencias del objeto disminuye cuando se borra con del, se reasigna su referencia o su referencia sale del ámbito. Cuando la cuenta de referencias de un objeto llega a cero, Python lo recoge automáticamente.

Ejemplo de clase C++

La clase y el objeto son bloques de construcción básicos en los lenguajes de programación orientados a objetos. Una clase es escrita por un programador en una estructura definida para crear un objeto (informática) en un lenguaje de programación orientado a objetos.  Define un conjunto de propiedades y métodos que son comunes a todos los objetos de un tipo.

Otra clase relacionada podría ser un camión, que tendría campos similares, pero no sería exactamente igual que un coche. Tanto un coche como un camión podrían ser una especie de tercera clase que podría llamarse clase vehículo. De esta manera, el programador podría crear las partes del programa que son las mismas para el coche y el camión en la programación de la clase vehículo, sin embargo, el programador sería libre de programar cómo un coche es diferente de un camión sin duplicar toda la programación.

En este ejemplo, hay tres clases: 1) una clase llamada «coche», 2) una clase llamada «camioneta», y 3) una clase llamada «vehículo». Estas clases se utilizarán para crear objetos. Aunque sólo hay una clase llamada «coche», puede haber muchos objetos que se creen a partir de la clase llamada «coche». Y, aunque sólo hay una clase que se llama «camión», se podrían crear muchos objetos de tipo camión a partir de esta clase. La clase «vehículo» es en realidad general y probablemente no habría ningún objeto que fuera sólo de la clase «vehículo». Pero un coche sería una clase de vehículo y un camión también sería una clase de vehículo. Por lo tanto, se podría decir que tanto los coches como los camiones son de la misma clase, vehículo.

Ejemplo de clase python

La programación orientada a objetos es un estilo de programación en el que se acostumbra a agrupar todas las variables y funciones de un tema en particular en una sola clase. La programación orientada a objetos se considera más avanzada y eficiente que el estilo de programación procedimental. Esta eficiencia se debe a que permite una mejor organización del código, proporciona modularidad y reduce la necesidad de repetirnos. Dicho esto, es posible que sigamos prefiriendo el estilo procedimental en proyectos pequeños y sencillos. Sin embargo, a medida que nuestros proyectos crecen en complejidad, es mejor utilizar el estilo orientado a objetos.

Para crear una clase, agrupamos el código que maneja un determinado tema en un solo lugar. Por ejemplo, podemos agrupar todo el código que maneja a los usuarios de un blog en una clase, todo el código que tiene que ver con la publicación de las entradas en el blog en una segunda clase, y todo el código que se dedica a los comentarios en una tercera clase.

Para nombrar la clase, es habitual utilizar un sustantivo singular que empiece por mayúscula. Por ejemplo, podemos agrupar el código que se ocupa de los usuarios en una clase User, el código que se ocupa de las entradas en una clase Post, y el código que se dedica a los comentarios en una clase Comment.

Clases y objetos

Ya hemos visto cómo podemos utilizar un diccionario para agrupar datos relacionados, y cómo podemos utilizar funciones para crear atajos para grupos de sentencias de uso común. Una función realiza una acción utilizando un conjunto de parámetros de entrada. No todas las funciones son aplicables a todos los tipos de datos. Las clases son una forma de agrupar datos relacionados y funciones que actúan sobre esos datos.

Como ya hemos mencionado, en otros lenguajes algunas entidades son objetos y otras no. En Python, todo es un objeto – todo es una instancia de alguna clase. En versiones anteriores de Python se distinguía entre tipos incorporados y clases definidas por el usuario, pero ahora son completamente indistinguibles. Las clases y los tipos son en sí mismos objetos, y son de tipo type. Puedes averiguar el tipo de cualquier objeto utilizando la función type:

Los valores de datos que almacenamos dentro de un objeto se llaman atributos, y las funciones que se asocian al objeto se llaman métodos. Ya hemos utilizado los métodos de algunos objetos incorporados, como las cadenas y las listas.