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.