1. Tren extra (herència) (2 punts)¶
La classe Tren que ja coneixeu representa un tren format per vagons (vegeu Classe Tren i Ús de la classe Vago). Descarregueu la seva implementació d’aquesta pàgina o directament d’aquí (vago.py i tren.py). En el mòdul trenextra (fitxer trenextra.py) implementeu la classe TrenExtra que es deriva per herència de la classe Tren i que està especificada a continuació:
- class trenextra.TrenExtra(idtren, velmax)¶
Construeix un TrenExtra, sense cap vagó.
Atributs (a més dels de la classe base)
- vmax¶
La velocitat màxima del tren inicialitzada amb el paràmetre velmax
Mètodes (a més dels de la classe base)
- quants_capacitat(capmax)¶
Retorna el nombre de vagons del tren amb una capacitat total (entre persones d’empeu i assegudes) superior o igual a capmax.
Vegeu per exemple:
>>> from vago import Vago
>>> from tren import Tren
>>> from trenextra import TrenExtra
>>> eltren = TrenExtra('tren1', 230)
>>> isinstance(eltren, Tren) and isinstance(eltren, TrenExtra)
True
>>> eltren.nom, eltren.vmax
('tren1', 230)
>>> eltren.afegir_vago(Vago('vcap', 8, 18))
>>> eltren.afegir_vago(Vago('vnormal1', 10, 20))
>>> eltren.afegir_vago(Vago('vnormal2', 10, 20))
>>> eltren.afegir_vago(Vago('vincomode', 0, 35))
>>> eltren.quants_capacitat(10)
4
>>> eltren.quants_capacitat(30)
3
>>> eltren.quants_capacitat(35)
1
>>> eltren.quants_capacitat(50)
0
Disposeu del fitxer de tests tests-trenextra.txt. No pugeu els fitxers vago.py ni tren.py a la tasca d’Atenea, només trenextra.py.