Loading...
inaivanova1990 avatar inaivanova1990 33 Точки

Class Vehicle

Здравейте!

 

Защо judge  не ми приема задачата така? Не мога ли да използвам два конструктора?

 

https://pastebin.com/2aWpQnfM

 

 

Create a class with the name Vehicle that has the following properties:

  • – a string
  • – a string
  • – an object that contains:
  • – number (quality of the engine)
  • – number
  • – engine * power
  • – a number
  • – a function that receives fuel loss and decreases the fuel of the vehicle by that number

The constructor should receive the type, the model, the parts as an object, and the fuel

In judge post your class (Note: all names should be as described)

Example

Test your Vehicle class.

Input

Output

let parts = { engine: 6, power: 100 };

let vehicle = new Vehicle('a', 'b', parts, 200);

vehicle.drive(100);

console.log(vehicle.fuel);

console.log(vehicle.parts.quality);

100

600

let parts = {engine: 9, power: 500};

let vehicle = new Vehicle('l', 'k', parts, 840);

vehicle.drive(20);

console.log(vehicle.fuel);

820

Тагове:
0
Fundamentals Module
Axiomatik avatar Axiomatik 2422 Точки
Best Answer

;-)

class Vehicle {
    // The constructor should receive the parts as an object !!!
    // (additional class for parts not demanded by requirements)
    // See input => let parts = { engine: 6, power: 100 }; !!!
    constructor(type, model, parts, fuel) {
        this.type = type;
        this.model = model;
        
        // fuel is already passed as a number
        // this.fuel = +fuel;
        this.fuel = fuel;
        this.parts = parts;

        // decorate parts with the calculated property quality
        this.parts.quality = parts.engine * parts.power;
    }

    drive(fuelLoss) {
        // return not required by the given examples
        // return this.fuel -= fuelLoss;
        this.fuel -= fuelLoss;
    }
}

 

0
inaivanova1990 avatar inaivanova1990 33 Точки

Благодаря ти, не ми беше ясен този синтаксис -

        this.parts.quality = parts.engine * parts.power;

 

1
Axiomatik avatar Axiomatik 2422 Точки

parts.quality =>

parts – an object that contains:

engine – number (quality of the engine)
power – number
quality – engine * power

let parts = { engine: 6, power: 100 };

parts.quality not provided in the object itself, needs therefore
be added to the object by multiplying => engine * power

// decorate outside of Constructor
vehicle.parts.quality = engine * power;

// decorate inside of Constructor
this.parts.quality = parts.engine * parts.power;



: )

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.