En un lenguaje orientado a objetos, una clase es un fragmento de código extensible que representa una plantilla para crear y usar los objetos de esa clase. Un objeto de una clase simplemente se refiere a una instancia de la clase definida.
Conceptos básicos de la clase Python
En el lenguaje de programación Python, cada dato se representa como una instancia de alguna clase. Si no está familiarizado con el idioma, consulte nuestro guía para principiantes de Python antes de seguir adelante.
Una clase proporciona un conjunto de comportamientos en forma de funciones miembro (también conocidas como métodos), que tiene implementaciones que son comunes a todas las instancias de esa clase, y también determina la forma en que la información de estado para su instancia se representa en forma de atributos.
Leer más: Métodos de clase en Python: las diferencias importantes
El siguiente código representa un ejemplo de una clase definida en Python. La clase definida en el código proporciona una implementación de una clase RaceCar.
Cada instancia de la clase proporciona un modelo simple para diferentes marcas de automóviles y contiene el siguiente estado información: nombre del automóvil, nombre del conductor, número de placa del automóvil, velocidad actual, cargo por exceso de velocidad y color.
Esta clase de automóvil modela un sensor especial dentro de cada automóvil que registra una multa de $ 50 contra el conductor del automóvil si excede el límite de velocidad legal de 140 millas por hora.
Ejemplo de una clase (clase de automóvil)
coche de clase:
#Constructor
#el método init es responsable de inicializar los valores de la instancia #variables en la clase.
def __init __ (self, car_name, driver_name, license_plate_number,
velocidad_actual, carga_de_velocidad, color):
self.car_name = car_name
self._driver_name = driver_name
self._license_plate_number = número_placa_licencia
self._current_speed = current_speed
self._speeding_charge = speeding_charge
self._colour = color
# Métodos de accesor
# El método get_car_name devuelve el nombre del coche.
def get_car_name (self):
return self._car_name
# El método get_driver_name devuelve el nombre del controlador
def get_driver_name (self):
return self._driver_name
# El método get_license_plate devuelve la matrícula del automóvil
def get_license_plate (auto):
return self._license_plate
# El método get_current_speed devuelve la velocidad actual a la que el automóvil se # mueve
def get_current_speed (self):
return self._current_speed
# El método get_speeding_charge devuelve la cantidad total de dinero que el
#driver tiene que pagar por exceso de velocidad
def get_speeding_charge (auto):
return self._speeding_charge
# ¡El método get_colour devuelve el color de nuestro dulce viaje!
def get_colour (yo):
volver self._colour
#Métodos de mutadores
# El valor set_driver cambia el conductor de nuestro coche.
def set_driver (self, new_driver):
self._driver_name = nuevo_controlador
# El método speeding_ticket asegura que al conductor se le cobre 50 dólares cuando # él o ella lo atrapan acelerando a más de 140 millas por hora :(
def speeding_ticket (self, current_speed):
si current_speed <= 140:
falso retorno
demás:
self._speeding_charge + = 50
volver verdadero
# El método make_payment asegura que el conductor pueda pagar todo el # monto que debe por los cargos por multas por exceso de velocidad.
def make_payment (self, amount_paid):
self._speeding_charge - = monto_pagado
Una explicación del ejemplo de la clase Python
El parámetro "Self"
En primer lugar, tenga en cuenta que existe una diferencia entre la firma del método declarada en la clase y la firma del método que utiliza el programador para llamar a la función. Por ejemplo, el get_colour El método definido en la clase toma un parámetro que es el parámetro "self".
Sin embargo, cuando el programador llama a este método en una instancia de la clase, no proporciona ningún parámetro. Este mismo fenómeno se puede observar en el método speeding_ticket que se define para tomar dos parámetros en la clase (es decir, self y current_speed), pero el programador puede ejecutar este método proporcionando el valor solo para "current_speed" parámetro.
Esto se debe a que el propósito del parámetro "self" proporcionado es vincular el método a la instancia del objeto en el que se llamó y no es un valor que deba dar el programador.
El constructor
Un constructor de una clase se refiere al método de la clase que un usuario puede llamar para crear una instancia de objeto de esa clase. En la clase Car, el usuario puede crear una instancia de objeto utilizando la siguiente sintaxis:
#creando nuestro propio Bugatti :)
Coche ("Bugatti", "David Sasu", 90828, 0, 0, "Rojo cereza")
La ejecución de este código da como resultado una llamada al método __init__ en la clase Car. La responsabilidad de este método es generar un objeto de coche de crédito recién creado con los valores de instancia proporcionados. Cada objeto de la clase Car está constituido por seis variables de instancia que son:
- _car_name
- _nombre del conductor
- _placa
- _velocidad actual
- _speeding_charge
- _color
Métodos de acceso
Estos son métodos que están escritos para acceder a la información de estado de una instancia de objeto. En la clase Car, los métodos de acceso que se escribieron son:
- get_car_name
- get_driver_name
- get_license_plate
- get_current_speed
- get_speeding_charge
- get_colour
Métodos mutantes:
Estos son métodos que están escritos para alterar la información de estado de una instancia de objeto. En la clase Car, los métodos mutadores que se escribieron son:
- set_driver
- multa por exceso de velocidad
- hacer el pago
El concepto de encapsulación
"Encapsulación" es un término que se utiliza para describir un principio de diseño orientado a objetos en el que los componentes de un programa no deben revelar los detalles internos de sus respectivas implementaciones. Para aumentar su comprensión del concepto de encapsulación, consulte nuestra artículo sobre encapsulación.
Comprobación de errores
Nuestra implementación de la clase Car no es robusta ya que es probable que falle o falle dependiendo de la entrada que reciba del programador.
Primero, tenga en cuenta que no verificamos los tipos de parámetros de los métodos speeding_ticket y make_payment, ni verificamos los tipos de ninguno de los parámetros del constructor. Esto podría provocar que el programa se bloquee si el usuario proporciona un argumento que no se esperaba. Por ejemplo, si el usuario realiza una llamada como speeding_ticket ("chips ahoy"), el programa se bloqueará porque el tipo que esperaba el método era un número entero y no una cadena.
Ahora comprende los conceptos básicos de la clase Python
En este artículo, se le presentó el concepto de una clase Python y un objeto de clase Python. También se le han presentado las ideas sobre las que se construye una clase de Python, tales como: encapsulación, el identificador "propio", métodos de acceso y métodos de mutación.
Con esta información, debería poder crear una clase Python simple por su cuenta y probarla :)
Ahora, deberá verificar su identidad a través de su dispositivo móvil para vincular su cuenta en la aplicación web y de escritorio.
- Programación
- Pitón
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Un paso más…!
Confirme su dirección de correo electrónico en el correo electrónico que le acabamos de enviar.