Loading...
dido1092 avatar dido1092 38 Точки

08. Circle/Lab: Objects & Classes

Моля за малко помощ колеги ако някой е решил задачата нека сподели или каже къде бъркам със сетването на диаметъра, благодаря!

Моя код: https://pastebin.com/vvN9qFsP

1.Circle

Write a class that represents a Circle. It has only one data property - it’s radius, and it is set trough the constructor. The class needs to have getter and setter methods for its diameter - the setter needs to calculate the radius and change it and the getter needs to use the radius to calculate the diameter and return it.

The circle also has a getter area(), which calculates and returns its area.

Input

The constructor function and diameter setter will receive valid parameters.

Output

The diameter() and area() getters should return numbers.

Submit the class definition as is, without wrapping it in any function.

Examples

Sample Input

Output

let c = new Circle(2);

console.log(`Radius: ${c.radius}`);

console.log(`Diameter: ${c.diameter}`);

console.log(`Area: ${c.area}`);

c.diameter = 1.6;

console.log(`Radius: ${c.radius}`);

console.log(`Diameter: ${c.diameter}`);

console.log(`Area: ${c.area}`);

 

Radius: 2

Diameter: 4

Area: 12.566370614359172

Radius: 0.8

Diameter: 1.6

Area: 2.0106192982974678

Тагове:
0
JavaScript Advanced
krasizorbov avatar krasizorbov 548 Точки
Best Answer

class Circle {
  constructor(radius) {
    this.radius = radius;
  }
  get diameter() {
    return 2 * this.radius;
  }
  set diameter(diameter) {
    this.radius = diameter / 2;
  }
  get area() {
    return Math.PI * this.radius * this.radius;
  }
}

1
dido1092 avatar dido1092 38 Точки

Много благодаря!

0
nickwork avatar nickwork 657 Точки

class Circle {

    constructor(radius) {
        this.radius = radius;
    }

    get area() {
        return Math.PI * (this.radius **= 2);
    }
    get diameter() {
        return this.radius * 2;
    }
    set diameter(x) {
        this.radius = x / 2;
    }
}

1
dido1092 avatar dido1092 38 Точки

Много благодаря!

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