Orientación a objetos en Python (avanzado)
I. Métodos de instancia, métodos de clase, métodos estáticos
Primero escribimos una clase que contiene los tres métodos.
Como puedes ver, estamos usando dos decoradores.
Usamos clases e instancias para llamar a métodos de clase
Usamos clases e instancias para llamar a métodos estáticos
Un método estático es en realidad solo un método escrito en un La función ordinaria de clase, que es lo mismo que escribir una función directamente en la capa exterior, es esencialmente una función.
Para facilitar la comprensión, imprimamos los tipos de estos métodos
Utilice type()
Compruebe si un objeto es un método o una función p>
Además, puede utilizar el módulo de inspección para determinar si un objeto es de un determinado tipo, lo que devuelve un valor booleano.
Cómo usarlo
Consejos: comprensión conceptual
Defínelo directamente, lo llamamos función
Pon la función en la clase , Lo llamamos método
A través del método estático decorador, el método se puede convertir en una función (poner en el método)
Herencia
Herencia p>
Cuando una clase hereda de otra clase, obtendrá automáticamente todas las propiedades y métodos de la otra clase. La clase heredada se llama clase principal y la nueva clase se llama clase secundaria; La subclase tiene todas las propiedades y métodos de la clase principal y puede definir sus propias propiedades y métodos
Intentemos usar la clase Rectángulo anterior como clase principal
1) Herencia completa
p>Como puede ver, una vez que la subclase hereda completamente la clase principal, puede llamar directamente a todos los métodos de la clase principal.
2) Herencia parcial
Herencia parcial: después de heredar de la clase principal, modifique el método del mismo nombre de la clase principal
Probémoslo. Square hereda de Rectángulo y modifica el método __init__()
3) Extender el método de la clase padre
3) Extender el método de la clase padre
Extender un método manteniendo el método en la clase principal. El código del método
se puede agregar agregando "super().nombre del método"
4)@property