Las clases y los objetos son los dos aspectos principales de la programación orientada a objetos. Una clase es una plantilla para crear objetos (una instancia particular de una clase) y un objeto es una instancia de una clase.
7.1 ¿Qué es una Clase?
Una clase es un prototipo para crear objetos en Python. Es una estructura lógica que tiene algunos atributos y métodos definidos. Una clase se define utilizando la palabra clave class
.
clase MiClase: x = 5
En este ejemplo, creamos una clase llamada MyClass
, que tiene un atributo llamado x
con el valor 5.
7.2 ¿Qué es un objeto?
Un objeto es una instancia de una clase. Cuando se define una clase, solo se define la descripción del objeto. Por lo tanto, no se asigna ningún espacio de memoria. La creación de un objeto se realiza utilizando la función constructor
de la clase. Este método se llama cuando se crea un objeto a partir de una clase y permite a la clase inicializar los atributos del objeto.
p1 = MiClase() imprimir(p1.x)
En este ejemplo, p1
es un objeto de la clase MyClass
que tiene un atributo llamado x
.
7.3 La función __init__()
En Python, la función __init__()
es el método constructor que se llama cuando se crea un objeto a partir de una clase. Este método es útil para realizar cualquier inicialización que desee realizar con su objeto. Cuando creas un método __init__()
, le estás diciendo a Python que cuando se crea un objeto a partir de esta clase, el objeto debe inicializarse con los valores especificados.
persona de clase: def __init__(yo, nombre, edad): self.nombre = nombre self.age = edad p1 = Persona("Juan", 36) imprimir(p1.nombre) imprimir (p1.edad)
En este ejemplo, Persona
es una clase con la función __init__()
que toma dos argumentos y crea atributos para nombre y edad.
7.4 Métodos de objeto
Los objetos también pueden contener métodos. Los métodos de los objetos son funciones que pertenecen al objeto.
persona de clase: def __init__(yo, nombre, edad): self.nombre = nombre self.age = edad def mifunc(yo): print("Hola mi nombre es " + self.nombre) p1 = Persona("Juan", 36) p1.mifunc()
En este ejemplo, definimos un método en la clase Person
llamado myfunc
que imprime una línea de texto.
7.5 El parámetro propio
El parámetro self
es una referencia a la instancia actual de la clase y se utiliza para acceder a las variables que pertenecen a la clase. No es necesario que se llame self
, puedes llamarlo como quieras, pero tiene que ser el primer parámetro de cualquier función de la clase.
7.6 Modificar objetos
Puedes modificar propiedades en objetos como este:
p1.edad = 40
O puedes eliminar las propiedades del objeto:
del p1.edad
También puedes eliminar objetos:
del p1
Estos son los conceptos básicos de clases y objetos en Python. Son fundamentales para la programación orientada a objetos en Python y, cuando se combinan con otros conceptos como herencia y polimorfismo, proporcionan una forma poderosa de estructurar su código.