Python se comporta como un lenguaje de programación orientado a objetos completamente funcional (POO ) . Con el fin de aprovechar el poder de la programación orientada a objetos , los programadores deben entender conceptos tales como clases y herencia . De la herencia significa construir clases que utilizan la funcionalidad de las clases más básicas como una fundación. Esta práctica también incluye la capacidad para las clases de redefinir los métodos de las clases mayores para usos específicos. Las clases en Python
clases funcionan como los planos de los objetos , la definición de lo que hacen y cómo trabajan con otros objetos. Normalmente, una declaración de clase es similar a este ejemplo :
clase MyClass :
//definición de la clase
La definición de clase es donde el programador establece qué acciones que un objeto puede hacer, y qué tipo de información que contiene. Un método básico para una clase es el método "init " , que dicta lo que ocurre cuando se crea un objeto de la clase :
def __ init__ ( self):
self.x = 1
self.y = 2
Este método de clase MyClass se asegurará de que cada objeto MyClass tiene un valor de x y y, igual a 1 y 2 , respectivamente .
< br > clases derivadas
Algunas clases compartirán una funcionalidad similar con otras clases , sino que se extiende esa funcionalidad. Por ejemplo , tomar una clase de " bola " que puede representar un balón de fútbol ( en el código) . Supongamos también que existe una " esfera " clase que representa una esfera simple y contiene el radio (r ) y un método para calcular el área de superficie ( Sarea ( ) ) . En este caso , la única diferencia entre los dos es que clase de " bola " necesita datos adicionales para grabar el color . Por lo tanto , en lugar de volver a escribir el código de " Sphere " en " bola ", el programador sólo deriva bola de Esfera :
bola clase
( Esfera) :
Ahora , la clase Ball puede acceder a cualquier método o los datos de la clase Sphere ( r , Sarea ()), y utilizarla para sí mismo) .
Reemplazar métodos base
El programador entonces tal vez deseen asegurarse de que cada bola tiene un color inicial junto su radio. Función " init" La clase Sphere ' se parece a esto :
def __ init__ ( self):
self.r = 5
Así cada objeto esfera tiene un radio predeterminado 5 . Bola de Clase puede reemplazar este método , definiendo en su propia clase. Así método "init " de la bola podría tener este aspecto :
def __ init__ ( self):
self.color = red
Así que ahora el color predeterminado de la bola es de color rojo .
Anulación y utilizar una Base Método
Pero debido a que la bola "init " anula la clase base " init ", la clase base " init" nunca se ejecuta. Esto es necesario . En Python , el método predominante puede llamar al método que está anulando como par de su ejecución :
def __ init__ ( self):
Sphere.__init__ (auto )
auto . color = red
Esto asegura que se produce la inicialización de base, que la bola tiene un radio y un color .