Classes and Objects


Los objetos son encapsulamientos de variables y funciones en una entrada única. Los objetos obtienen sus variables y funciones desde las clases; las clases son esencialmente una plantilla para crear tus objetos.

Una clase muy básica se verá como esto:

 class MyClass:
      variable = "blah"
      def function(self):
           print "Este mensaje está dentro de una clase."

Explicaremos el por qué debes de incluir el "self" como parametro más adelante; primero, para asignar la clase previa (plantilla) a un objeto debes hacer lo siguiente:

 class MyClass:
      variable = "blah"
      def function(self):
           print "Este mensaje está dentro de una clase."

 myobjectx = MyClass()

Ahora que la variable "myobjectx" contiene un objeto de la clase "MyClass" que contiene la variable y la función definida dentro de la clase llamada "MyClass".

Accediendo a objetos de variables

Para acceder dentro de la variable del objeto recién creado "myObjectx" se escribe lo siguiente:

 class MyClass:
      variable = "blah"
      def function(self):
           print "Este mensaje está dentro de una clase."

 myobjectx = MyClass()

 myobjectx.variable

El siguiente código de ejemplo imprime la variable "blah":

 class MyClass:
      variable = "blah"
      def function(self):
           print "Este mensaje está dentro de una clase."

 myobjectx = MyClass()

 print(myobjectx.variable)

Puedes crear múltiples objetos diferentes que pertenezcan a la misma clase (tengan las mismas variables y funciones ya definidas). Sin embargo, cada objeto contiene copias independientes de las variables definidas en las clases. Por ejemplo, si definimos otro objeto con la clase "MyClass" y después cambiamos la cadena de texto que tenía la variable anterior:

 class MyClass:
      variable = "blah"
      def function(self):
           print("Este mensaje está dentro de una clase.")

 myobjectx = MyClass()
 myobjecty = MyClass()

 myobjecty.variable = "yackity"

 # Entonces se imprimen ambos valores
 print(myobjectx.variable) # imprime "blah"
 print(myobjecty.variable) # imprime "yackity"

 myobjecty = MyClass()
 myobjecty.variable = "yackity"

Accediendo a objetos de función

Para acceder a una función dentro del objeto para usar una notación similar a acceder una variable:

 class MyClass:
      variable = "blah"
      def function(self):
           print("Este mensaje está dentro de una clase.")

 myobjectx = MyClass()

 myobjectx.function()

La instrucción previa mostrará un mensaje "Este mensaje está dentro de una clase".

Ejercicio

Tenemos una clase definida para un vehículo. Crea dos nuevos vehículos llamados MiCarro1 y MiCarro2. Fija MiCarro1 para ser un convertible rojo con valor de $60,000, con el nombre "Fer", y MiCarro2 para ser una van azul en $10,000, con el nombre "Jump".


Copyright © learnpython.org. Read our Terms of Use and Privacy Policy