Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export class Train extends Vehicle implements ITrain {
- private readonly _carts: number;
- protected static _minCarts = 1;
- protected static _maxCarts = 15;
- protected static _minCapacity: number = 30;
- protected static _maxCapacity: number = 150;
- constructor(passengerCapacity: number, pricePerKilometer: number, carts: number){
- super(passengerCapacity, pricePerKilometer, VehicleType.Land);
- if (passengerCapacity < Train._minCapacity || passengerCapacity > Train._maxCapacity) {
- throw new Error (`A train cannot have less than ${Train._minCapacity} passengers or more than ${Train._maxCapacity} passengers.`)
- }
- if(carts < Train._minCarts || carts > Train._maxCarts ){
- throw new Error (`A train cannot have less than ${Train._minCarts} cart or more than ${Train._maxCarts} carts.`)
- }
- this._carts = carts;
- }
- public get carts () : number {
- return this._carts;
- }
- public print(): string {
- return 'Train ---- \n' + super.print() + `\n Carts amount: ${this.carts}`;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement