Adrian ma racje, pozatym instrukcja 'return' zwraca wartość i wszystkie instrukcje poniżej nie zostaną wykonane.
Możesz wydzielić jedną klasę 'Figura' wrzucić do niej wspólne właściwości - w zasadzie jedną (bokA) i wspólne metody np jakąś metodę wyświetlającą początkowy tekst typu 'Pole figury wynosi:'
Później utworzyć 3 klasy (Kwadrat, Prostokąt, Trójkąt), które dziedziczą po 'Figurze' 'bokA' i metodę wyświetlającą tekst. W klasach utworzyć dodatkowe właściwości dla 'Prostokąta' 'bokB' i dla 'Trójkąta' 'wysokość' oraz dla wszystkich metodę obliczającą pole.
class Figura {
constructor(bokA) {
this.bokA = bokA;
}
wyswietlText() {
return 'Pole figury wynosi: ';
}
}
class Kwadrat extends Figura {
constructor(bokA) {
super(bokA)
}
obliczPole() {
return super.wyswietlText() + Math.pow(this.bokA,2);
}
}
class Prostokat extends Figura {
constructor(bokA,bokB) {
super(bokA);
this.bokB = bokB;
}
obliczPole() {
return super.wyswietlText() + this.bokA * this.bokB;
}
}
class Trojkat extends Figura {
constructor(bokA,wysokosc) {
super(bokA);
this.wysokosc = wysokosc;
}
obliczPole() {
return super.wyswietlText() + (this.bokA * this.wysokosc) /2;
}
}
const kwadrat = new Kwadrat(2);
console.log(kwadrat.obliczPole());
const prostokat = new Prostokat(4,6);
console.log(prostokat.obliczPole());
const trojkat = new Trojkat(10,4);
console.log(trojkat.obliczPole());