class Pastel:
  def __init__(self, sabor, textura):
      self.sabor = sabor
      self._textura = textura

  def hornear(self):
      return f"Pastel horneado con sabor {self.sabor}"

  def _metodo_protegido(self):
      return self._textura


class PastelCumpleaños(Pastel):
  def __init__(self, sabor, mensaje, textura):
      super().__init__(sabor, textura)
      self.mensaje = mensaje

  def escribir_mensaje(self):
      return f"Escribiendo el mensaje '{self.mensaje}' en el pastel de cumpleaños"


pastel_cumpleaños = PastelCumpleaños("Chocolate", "¡Feliz Cumpleaños!", "Esponjosa")
torta = Pastel("fresa","cremoso")

print("\natributos de pastel:")
print(torta.hornear())
print(torta.sabor)
print(torta._textura)  

print("\natributos de pastel de cumpleaños:")
print(pastel_cumpleaños.sabor)
print(pastel_cumpleaños._metodo_protegido())  
print(pastel_cumpleaños.escribir_mensaje())  

"""

Se tienen dos clases: Pastel como clase padre y PastelCumpleaños como clase hija. La clase Pastel tiene dos atributos (sabor y textura) y dos métodos públicos: uno que indica que el pastel está horneado con su sabor, y otro que devuelve el atributo protegido textura. La clase PastelCumpleaños hereda estos atributos y métodos, y añade un atributo mensaje. Utiliza super() para llamar al constructor de la clase padre y define un método adicional para escribir el mensaje en el pastel de cumpleaños.

"""

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: