Advertisement
angebogen

Untitled

Apr 8th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. export class Train extends Vehicle implements ITrain {
  2. private readonly _carts: number;
  3.  
  4. protected static _minCarts = 1;
  5.  
  6. protected static _maxCarts = 15;
  7.  
  8. protected static _minCapacity: number = 30;
  9.  
  10. protected static _maxCapacity: number = 150;
  11.  
  12.  
  13. constructor(passengerCapacity: number, pricePerKilometer: number, carts: number){
  14. super(passengerCapacity, pricePerKilometer, VehicleType.Land);
  15. if (passengerCapacity < Train._minCapacity || passengerCapacity > Train._maxCapacity) {
  16. throw new Error (`A train cannot have less than ${Train._minCapacity} passengers or more than ${Train._maxCapacity} passengers.`)
  17. }
  18. if(carts < Train._minCarts || carts > Train._maxCarts ){
  19. throw new Error (`A train cannot have less than ${Train._minCarts} cart or more than ${Train._maxCarts} carts.`)
  20. }
  21.  
  22. this._carts = carts;
  23. }
  24.  
  25. public get carts () : number {
  26. return this._carts;
  27. }
  28.  
  29. public print(): string {
  30. return 'Train ---- \n' + super.print() + `\n Carts amount: ${this.carts}`;
  31. }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement