Curso de Python desde cero

¿Como heredar del método __init__ en clases Python?

Capítulo 42: Herencia de __init__ - Programación orientada a objetos

Terminamos en este curso con la programación orientada a objetos viendo como heredar propiedades del __init__ de otras clases.
Si quieres aprender más sobre este tema, puedes ver mi curso dedicado a la POO en Python.

Como heredar del método __init__ en clases Python

En el siguiente código tenemos una herencia, pero hay un problema, tenemos dos métodos __init__, ¿Cuál de los dos se usa?
En este caso se utiliza el __init__ de la subclase, ya que al volver a declararlo, lo estamos reemplazando por el suyo propio.
El resto de elementos se heredan con normalidad.

Esto lo que demuestra, es que si en las subclases redeclaras cosas, prevalecen las redeclaraciones pertenecientes a la propia clase.

# Esta es la superclase
class Usuarios:
	def __init__(self, nombre, apellidos)
		self.nombre = nombre
	self.apellidos = apellidos

	def imprime_datos(self):
		print('Nombre:', self.nombre, '\nApellidos:', self.apellidos)

# Esta es la subclase
class UsuariosPremium(Usuarios):
	def __init__(self, nombre, apellidos, instagram)
		self.nombre = nombre
	self.apellidos = apellidos
	self.instagram = instagram

Comentarios

Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.