Python: Programación Orientada a Objetos [OOP]: es un paradigma (modelo) de programación que utiliza objetos y clases para estructurar el software en una forma que modela entidades y relaciones del mundo real. Esto se basa en la idea de que los objetos pueden contener datos y código que manipula esos datos.
Hay conceptos clave que debes conocer sobre la programación orientada a objetos:
El siguiente ejemplo es un ejemplo que le ayudará a hacer referencia a los conceptos que se explican y le dará una idea gráfica de cómo se ve cada concepto dentro de un objeto. Si está empezando a aprender programación orientada a objetos, esto le ayudará. comprendes lo que hace cada concepto.
class Car: def __init__(self, make, model, year, color): self.__make = make self.model = model self.year = year self.color = color def drive(self): print(f"The {self.year} {self.__make} {self.model} is driving") # GETTER method for make def get_make(self): return self.__make # SETTER method for make def set_make(self, make): self.__make = make class ElectricCar(Car): def __init__(self, make, model, year, battery_size): super().__init__(make, model, year) self.battery_size = battery_size def drive(self): print(f"The {self.year} {self.make} {self.model} with a {self.battery_size}-kWh battery is driving silently.") my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car.drive()
¿Qué es una clase?
En Python, una Clase: es un modelo para crear objetos. Define un conjunto de atributos y métodos que tendrán los objetos creados. Por ejemplo, puedes definir rápidamente una clase como esta:
class Car:
¿Qué es un objeto?
En Python, un objeto es una instancia de una clase. Se crea utilizando el modelo de clase y puede tener sus propios datos únicos. Por ejemplo, puedes crear un objeto como este:
my_car = Car("McLaren Automotive", "Artura Spider", 2024, "Red/Black") my_electric_car
¿Qué son los atributos?
En Python, los atributos son variables que pertenecen a una clase o a un objeto. Representan el estado o datos del objeto. Un ejemplo de un atributo se ve así:
self.color = color
¿Qué son los métodos?
En Python, los métodos son funciones que pertenecen a una clase. Definen comportamientos o acciones que los objetos pueden realizar. Un ejemplo de método se ve así:
TIP: al definir un método, puedes agregar pass; temporalmente para que Python no arroje un error al ejecutar el archivo.
def drive(self): pass;
¿Qué es la herencia?
En Python, una herencia es un mecanismo por el cual una nueva clase (clase secundaria) hereda atributos y métodos de una clase existente (clase principal). Un ejemplo:
ElectricCar hereda de Car
class ElectricCar(Car):
¿Qué es la encapsulación?
Encapsulación en un paquete de datos (atributo) y métodos que operan sobre los datos en una sola unidad (clase) y restricción del acceso a algunos de los componentes del objeto. Además, puede convertirla en una variable privada anteponiendole guiones bajos dobles __. Además, debe proporcionar métodos getter y setter para acceder y modificar la variable privada.
Por ejemplo, puedes configurar una variable privada como esta:
self.__make = make
Y agregue Setter y Getter para acceder y modificar la variable privada
# Getter method for make def get_make(self): return self.__make # Setter method for make def set_make(self, make): self.__make = make
Método Getter: el método get_make se agrega a acceder a la variable privada __make
Método Setter: el método set_make se agrega para modificar la variable privada __make
Esto encapsula el atributo make, asegurando que no sea directamente accesible desde fuera de la clase, proporcionando así una mejor encapsulación y control sobre el atributo.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3