Advertisement
AntonioVillanueva

Herencia Python Python Crash Cours

Jan 23rd, 2019
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.02 KB | None | 0 0
  1. #!/usr/bin/env pytho
  2. """ herencia """
  3.  
  4. class Bateria():
  5.     """ ensayo de una bateria de coche"""
  6.     def __init__(self,bateria="41Kwh 400V Litio"):
  7.         self.bateria=bateria
  8.        
  9.     def get_bateria(self):
  10.         return (self.bateria)
  11.    
  12. #Clase madre    
  13. class Coche():
  14.     """Una ensayo simple de representar un coche"""
  15.     def __init__(self,fabricante,modelo,fecha=2018):
  16.         self.fabricante=fabricante
  17.         self.modelo=modelo
  18.         self.fecha=fecha
  19.         self.kilometros=0
  20.        
  21.     def get_descriptivo(self):
  22.         return '\n'+str(self.fecha)+' '+self.fabricante+' '+self.modelo
  23.        
  24.     def deposito_petroleo(self):
  25.         return "SI"
  26.                
  27.     def get_km(self):
  28.         return ("kM = "+ str(self.kilometros))
  29.    
  30.     def set_km(self,km):
  31.         if (km < self.kilometros):
  32.             print ("No se puede volver atras el cuenta km !")
  33.         else:
  34.             self.kilometros=km
  35.            
  36.     def incrementa_km(self):
  37.         if(km>0):
  38.             self.kilometros+=km
  39.  
  40.  
  41. #Herecia ,clase hija de Coche vamos a crear un coche electrico basandonos en la clase anterior
  42.  
  43. class CocheElectrico(Coche):
  44.     def __init__(self,fabricante,modelo,fecha,solar):
  45.         """inizializa los atributos de la clase madre """
  46.         super().__init__(fabricante,modelo,fecha)
  47.        
  48.         """ y algunos datos especificos de un coche electrico ...."""
  49.         self.bateria=Bateria()
  50.         self.panel_solar=solar
  51.        
  52.     """metodo sobreescito de la clase anterior """
  53.     def deposito_petroleo(self):
  54.         return "NO POSEE"      
  55.    
  56.     def get_bateria(self):
  57.         return str(self.bateria.get_bateria())
  58.        
  59.     def get_panel(self):
  60.         if (self.panel_solar):
  61.             return " SI "
  62.         else :
  63.             return " NO "
  64.  
  65. #INSTANCIAS
  66. #Empleamos la primera clase
  67. coche_normal=Coche("SEAT","LEON")
  68. coche_normal.set_km(69000)
  69. print (coche_normal.get_descriptivo())
  70. print (coche_normal.get_km())
  71. print (coche_normal.deposito_petroleo())
  72.  
  73.  
  74. #Empleamos la segunda clase que hereda de la primera
  75. zoe=CocheElectrico("renault","zoe",2019,True)  
  76. zoe.set_km(69000)
  77. print (zoe.get_descriptivo())
  78. print (zoe.get_km())
  79. print (zoe.get_bateria())
  80. print ("Panel solar = "+ zoe.get_panel())
  81. print (zoe.deposito_petroleo())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement