[Conceptos básicos de Python]-08 Conocimientos básicos de programación orientada a objetos (2)

[Conceptos básicos de Python]-07 Conocimientos básicos de programación orientada a objetos (1)

inserte la descripción de la imagen aquí

3. Herencia

La herencia es un concepto importante en la programación orientada a objetos en Python, que nos permite crear una nueva clase y heredar propiedades y métodos de una o más clases existentes (llamadas clases padre o base). Comprendamos el concepto de herencia en detalle e ilustrémoslo con un caso.

3.1 El concepto de herencia

La herencia es un mecanismo que permite que una clase (llamada subclase o clase derivada) herede propiedades y métodos de otra clase (llamada clase principal o base). Las subclases heredan las propiedades de la clase principal y pueden agregar nuevas funciones propias o anular los métodos heredados.

3.2 Sintaxis de herencia

En Python, la herencia se logra especificando la clase padre en la definición de la subclase. La sintaxis es la siguiente:

class ChildClass(ParentClass):
    # 子类的定义

3.3 Ejemplos de herencia

Ilustremos el concepto de herencia con un ejemplo:

class Animal:
    def __init__(self, name):
        self.name = name

    def sound(self):
        print("动物发出声音")

class Dog(Animal):
    def sound(self):
        print("狗在汪汪叫")

class Cat(Animal):
    def sound(self):
        print("猫在喵喵叫")

dog = Dog("旺财")
cat = Cat("咪咪")

dog.sound()  # 输出 "狗在汪汪叫"
cat.sound()  # 输出 "猫在喵喵叫"

En el caso anterior, definimos una Animalclase principal llamada , que tiene un soundmétodo para imprimir sonidos de animales. Luego creamos dos subclases Dogy Cat, que heredan Animalla clase. El método se reescribe en la subclase soundpara realizar el sonido del perro ladrando y el gato ladrando respectivamente.

Al crear instancias de Doglas Catclases y y llamar a sus soundmétodos, podemos ver que ladran y maúllan respectivamente. Este es el papel de la herencia, las subclases pueden heredar las características de la clase principal y modificarla o ampliarla según sea necesario.

3.4 Herencia múltiple

Además de la herencia única, Python también admite la herencia múltiple, es decir, una subclase puede heredar de varias clases principales. La sintaxis es la siguiente:

class ChildClass(ParentClass1, ParentClass2):
    # 子类的定义

La herencia múltiple permite que las subclases hereden propiedades y métodos de varias clases principales al mismo tiempo que poseen las características de varias clases principales.

La herencia es una característica muy poderosa y flexible en la programación orientada a objetos, que facilita la reutilización y extensión del código. A través de la herencia, podemos usar

Cree clases relacionadas con diferentes comportamientos sin repetir el mismo código. Esto mejora la capacidad de mantenimiento y la escalabilidad del código.

4. Embalaje

En la programación orientada a objetos de Python, la encapsulación es un concepto importante que permite que los datos y los métodos relacionados se combinen en un todo, y los detalles de implementación se ocultan del exterior. A través de la encapsulación podemos controlar el acceso a las propiedades y métodos internos de la clase, mejorando la seguridad y mantenibilidad del código. Comprendamos el concepto de encapsulación en detalle e ilustrémoslo con un caso.

4.1 El concepto de encapsulación

La encapsulación es un mecanismo para envolver datos y métodos con el fin de ocultar información y proteger la consistencia de los datos. En las clases, podemos usar modificadores de acceso para controlar el nivel de acceso de propiedades y métodos. Los modificadores de acceso comunes son public, protected y private.

  • Público: se puede acceder a las propiedades y métodos desde fuera de la clase.
  • Protegido: solo se puede acceder a las propiedades y métodos dentro de la clase y sus subclases.
  • Privado: solo se puede acceder a las propiedades y métodos dentro de la clase.

4.2 Caso de Encapsulamiento

Ilustremos el concepto de encapsulación con un ejemplo:

class Person:
    def __init__(self, name, age):
        self.name = name
        self._age = age  # 保护属性,约定以单下划线开头
        self.__address = "北京"  # 私有属性,约定以双下划线开头

    def display_info(self):
        print(f"姓名:{
      
      self.name}")
        print(f"年龄:{
      
      self._age}")
        print(f"地址:{
      
      self.__address}")

person = Person("Mingfeng", 25)
person.display_info()

En el caso anterior, definimos una Personclase llamada , que tiene una propiedad pública name, una propiedad protegida _agey una propiedad privada __address. En los métodos de la clase podemos acceder directamente a estas propiedades.

Al crear Personuna instancia de la clase y llamar display_infoal método, podemos ver que el exterior de la clase puede acceder a las namepropiedades públicas y protegidas _age, pero no puede acceder directamente a las propiedades privadas __address. Se puede acceder a las propiedades privadas de formas específicas, como usar _类名__属性名el formulario (por ejemplo _Person__address, ).

A través de la encapsulación, podemos ocultar los detalles de implementación internos de la clase, evitar el acceso directo externo y la modificación de atributos, y mejorar la seguridad y la mantenibilidad del código. La encapsulación también proporciona una mejor organización y estructura del código, lo que hace que el código sea más legible y comprensible.

Cabe señalar que la encapsulación no pretende restringir el acceso, sino proporcionar una buena práctica de programación para hacer que el código sea más robusto y extensible. Debemos elegir la visita adecuada

Pregunte a los modificadores y siga ciertas convenciones para escribir código orientado a objetos.

5. Polimorfismo

En la programación orientada a objetos en Python, el polimorfismo es un concepto importante que permite que diferentes objetos respondan de manera diferente al mismo método. El polimorfismo puede mejorar la flexibilidad y la escalabilidad del código, de modo que podamos escribir código común para tratar con varios objetos. Comprendamos el concepto de polimorfismo en detalle e ilustrémoslo con un caso.

5.1 El concepto de polimorfismo

El polimorfismo se refiere a múltiples formas de objetos. En la programación orientada a objetos, el polimorfismo significa que diferentes objetos pueden realizar el mismo comportamiento, es decir, diferentes objetos pueden responder de manera diferente al mismo método. El polimorfismo nos permite escribir código más general y mejorar la reutilización y escalabilidad del código.

5.2 Implementación del polimorfismo

El polimorfismo se puede lograr mediante la anulación de métodos y la sobrecarga de métodos. La reescritura de métodos se refiere a la redefinición de métodos existentes en la clase principal en la subclase para lograr diferentes comportamientos. La sobrecarga de métodos se refiere a la definición de múltiples métodos en la misma clase, tienen el mismo nombre pero diferentes tipos de parámetros o número de parámetros, para lograr diferentes comportamientos.

5.3 El caso del polimorfismo

Ilustremos el concepto de polimorfismo con un ejemplo:

class Animal:
    def sound(self):
        pass

class Dog(Animal):
    def sound(self):
        print("汪汪汪!")

class Cat(Animal):
    def sound(self):
        print("喵喵喵!")

def make_sound(animal):
    animal.sound()

dog = Dog()
cat = Cat()

make_sound(dog)  # 输出 "汪汪汪!"
make_sound(cat)  # 输出 "喵喵喵!"

En el caso anterior, definimos una Animalclase principal llamada , que tiene un soundmétodo llamado . Luego creamos dos subclases Dogy Cat, que anulan respectivamente soundlos métodos para lograr diferentes sonidos.

Podemos lograr el polimorfismo pasando diferentes objetos animales en la función definiendo una make_soundfunción llamada , que toma un Animalparámetro de un tipo y llama a su método. soundYa sea Dogun objeto o Catun objeto, todos responden a soundmétodos y emiten sus propios sonidos.

El polimorfismo nos permite escribir código genérico que realiza las mismas operaciones en diferentes objetos. De esta manera, podemos manejar varios tipos de objetos de manera más flexible y mejorar la reutilización y escalabilidad del código.

resumen:

El polimorfismo es un concepto importante en la programación orientada a objetos, que permite que diferentes objetos respondan de manera diferente al mismo método. A través de la anulación de métodos y la sobrecarga de métodos, podemos lograr el polimorfismo. El polimorfismo proporciona una forma más flexible y extensible de escribir código, mejorando la reutilización y el mantenimiento del código.

en conclusión

A partir de esta introducción, ahora debería tener una comprensión básica de la programación orientada a objetos en Python. La programación orientada a objetos es un poderoso paradigma de programación que puede mejorar la legibilidad y el mantenimiento del código y proporciona funciones como encapsulación, herencia y polimorfismo. Espero que este artículo te ayude a aprender programación orientada a objetos en Python, ¡y deseo que progreses en tu viaje de programación!

Supongo que te gusta

Origin blog.csdn.net/mingfeng4923/article/details/130909535
Recomendado
Clasificación