Definicion de clase y objeto en programacion

Clase C++

La programación orientada a objetos (POO) es un proceso preferido de desarrollo de software. Aprenda sobre la programación orientada a objetos y explore sus objetos, clases, métodos y funciones. Comprenda los cuatro conceptos centrales de la POO, incluyendo la abstracción, la encapsulación, la herencia y el polimorfismo.

¿Qué es un objeto en la programación? La programación orientada a objetos, o POO, es un enfoque para la resolución de problemas en el que todos los cálculos se llevan a cabo utilizando objetos. Un objeto es un componente de un programa que sabe cómo realizar ciertas acciones y cómo interactuar con otros elementos del programa. Los objetos son las unidades básicas de la programación orientada a objetos. Un ejemplo sencillo de un objeto sería una persona. Lógicamente, se espera que una persona tenga un nombre. Esto se consideraría una propiedad de la persona. También se puede esperar que una persona sea capaz de hacer algo, como caminar o conducir. Esto se consideraría un método de la persona. El código en la programación orientada a objetos se organiza en torno a los objetos. Una vez que tienes tus objetos, pueden interactuar entre sí para hacer que algo suceda. Digamos que quieres tener un programa en el que una persona se sube a un coche y lo conduce de A a B. Empezarías describiendo los objetos, como una persona y un coche. Eso incluye los métodos: una persona sabe cómo conducir un coche, y un coche sabe lo que es ser conducido. Una vez que tienes los objetos, los unes para que la persona se suba al coche y conduzca.

Clases y objetos en Javascript

Al igual que se pueden hacer muchas casas a partir del plano de una casa, podemos crear muchos objetos a partir de una clase. Un objeto también se llama instancia de una clase y el proceso de creación de este objeto se llama instanciación.

En general, llamar a un método con una lista de n argumentos equivale a llamar a la función correspondiente con una lista de argumentos que se crea insertando el objeto del método antes del primer argumento.

Por estas razones, el primer argumento de la función en la clase debe ser el propio objeto. Esto se llama convencionalmente self. Se puede nombrar de otra manera, pero es muy recomendable seguir la convención.

En el ejemplo anterior, hemos definido una nueva clase para representar números complejos. Tiene dos funciones, __init__() para inicializar las variables (por defecto a cero) y get_data() para mostrar el número correctamente.

Una cosa interesante a tener en cuenta en el paso anterior es que los atributos de un objeto pueden ser creados sobre la marcha. Creamos un nuevo atributo attr para el objeto num2 y lo leemos también. Pero esto no crea ese atributo para el objeto num1.

Qué es un objeto en programación

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.

Programación de clases

Cuando se crea un objeto mediante un constructor de la clase, el objeto resultante se denomina instancia de la clase, y las variables miembro específicas del objeto se denominan variables de instancia, para contrastar con las variables de clase compartidas por toda la clase.

En algunos lenguajes, las clases son sólo una característica en tiempo de compilación (no se pueden declarar nuevas clases en tiempo de ejecución), mientras que en otros lenguajes las clases son ciudadanos de primera clase, y generalmente son ellos mismos objetos (típicamente de tipo Class o similar). En estos lenguajes, una clase que crea clases se llama metaclase.

En el uso casual, la gente suele referirse a la «clase» de un objeto, pero en sentido estricto los objetos tienen un tipo: la interfaz, es decir, los tipos de las variables miembro, las firmas de las funciones miembro (métodos) y las propiedades que éstas satisfacen. Al mismo tiempo, una clase tiene una implementación (concretamente la implementación de los métodos), y puede crear objetos de un tipo determinado, con una implementación determinada[3] En términos de la teoría de tipos, una clase es una implementación -una estructura de datos concreta y una colección de subrutinas- mientras que un tipo es una interfaz. Diferentes clases (concretas) pueden producir objetos del mismo tipo (abstracto) (dependiendo del sistema de tipos); por ejemplo, el tipo Stack puede ser implementado con dos clases – SmallStack (rápido para pilas pequeñas, pero con una escala pobre) y ScalableStack (con una escala buena pero con una sobrecarga alta para pilas pequeñas). Del mismo modo, una clase determinada puede tener varios constructores diferentes.