Cześć! Mam pytanie dotyczące dodawania zewnętrznie includowanej metody do istniejącej klasy - tj. w jaki sposób to zrobić.
Mój kod:
class moja_klasa{
konsola_1(str){
console.log(str);
}
}
class element_1{
konsola_2(str){
console.log(str);
}
}
class element_2{
konsola_3(str){
console.log(str);
}
}
Object.setPrototypeOf(moja_klasa.prototype, element_1.prototype);
const moj_element = new moja_klasa();
moj_element.konsola_2("hello 1!");
Pytanie 1: w jaki sposób połączyć wszystkie trzy klasy, jeżeli użyję kodu:
Object.setPrototypeOf(moja_klasa.prototype, element_1.prototype);
Object.setPrototypeOf(moja_klasa.prototype, element_2.prototype);
to nie działa poprawnie.
Natomiast kod:
Object.setPrototypeOf(moja_klasa.prototype, element_1.prototype);
Object.setPrototypeOf(element_1.prototype, element_2.prototype);
Działa, ale klasy byłyby łączone na powiedzmy trochę losowe sposoby i wolałbym uniknąć "zapamiętywania" kolejności.
Pytanie 2: W jaki sposób wykonać metodę/funkcję w mojej połączonej klasie, przy założeniu, że nazwę metody mam zapisaną jako np. string, coś w stylu:
let f = 'konsola_1';
moj_element.f("hello 1!");