“Conocimientos Programación>Python Programming

Python Override Base método de las clases

2012/3/3
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 .

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 .

Página anterior:
Página siguiente:
Python Programming
Cómo hacer que Python Open
Cómo quitar las nuevas líneas en Python
Cómo iniciar una secuencia de comandos como un proceso separado en Python
Cómo separar una coma de una cadena
Cómo reemplazar el primer carácter en Python
Cómo hacer una función de evaluación en Python
Cómo ejecutar un script de Python Sin Python
¿Cómo funciona el Tráfico Python Trabajo
Conocimientos Informáticos © http://www.ordenador.online