Herencia y Polimorfismo en Python
La herencia es un concepto fundamental en la programación orientada a objetos. Con la herencia, una clase puede heredar atributos y métodos de otra clase, lo que permite crear relaciones jerárquicas entre las clases. En Python, se puede crear una clase derivada de una clase base utilizando la siguiente sintaxis:
class BaseClass: def some_method(self): print('Soy un método de la clase base') class DerivedClass(BaseClass): def some_other_method(self): print('Soy un método de la clase derivada')
En este ejemplo se define una clase base BaseClass
con un método llamado some_method
. Luego se define una clase derivada DerivedClass
que hereda de la clase base utilizando la sintaxis class DerivedClass(BaseClass)
. La clase derivada también tiene un método propio llamado some_other_method
. Esta clase también puede utilizar el método some_method
de la clase base.
Por ejemplo:
class Shape: def draw(self): pass class Circle(Shape): def draw(self): print('Dibujando un círculo') class Square(Shape): def draw(self): print('Dibujando un cuadrado') class Triangle(Shape): def draw(self): print('Dibujando un triángulo') shapes = [Circle(), Square(), Triangle()] for shape in shapes: shape.draw()
En este ejemplo se define una clase abstracta base Shape
con un método abstracto draw
. Luego se definen tres clases derivadas: Circle
, Square
y Triangle
, todas ellas heredando de la clase base Shape
. Cada una de estas clases tiene su propio método draw
, que implementa cómo dibujar la forma específica. Finalmente, se crea una lista de objetos de diferentes formas y todas son llamadas su método draw
, lo que da como resultado la ejecución del método draw
específico de cada objeto, proporcionando polimorfismo.
Deja una respuesta