-
1. Data: 2018-01-21 23:56:56
Temat: Javascript ES6 - bezużyteczne dziedziczenie klas?
Od: Marek S <p...@s...com>
Mamy następującą sytuację. Dwóch programistów napisało dwie klasy. Każdy
z nich wykorzystał zmienną "a" w swoich klasach. W JS nie ma zmiennych
prywatnych więc skutek tego jest taki, że jeśli teraz programista klasy
bClass będzie chciał dziedziczyć aClass to szlag trafi całą
funkcjonalność. Obie klasy do zupełnie innych celów wykorzystywały
zmienną "a". Jedna klasa będzie grzebała w zmiennych drugiej. Da się nad
tym zapanować?
"use strict";
class aClass {
readFromA() {
console.log(this.a);
}
constructor() {
this.a = 5;
}
}
class bClass extends aClass {
readFromB() {
console.log(this.a);
}
constructor() {
super();
this.a=10;
}
}
let bc=new bClass();
bc.readFromA(); //pokaże 10
bc.readFromB(); //pokaże 10
--
Pozdrawiam,
Marek