Article View: pl.comp.www
Article #408623Javascript ES6 - bezużyteczne dziedziczenie klas?
From: Marek S
Date: Sun, 21 Jan 2018 22:56
Date: Sun, 21 Jan 2018 22:56
41 lines
1683 bytes
1683 bytes
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
Technical Details
Message-ID:
<p435rs$v2n$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Marek S <precz@spamowi.com> Newsgroups: pl.comp.www Subject: Javascript ES6 - bezużyteczne dziedziczenie klas? Date: Sun, 21 Jan 2018 23:56:56 +0100 Organization: ATMAN - ATM S.A. Lines: 41 Message-ID: <p435rs$v2n$1@node2.news.atman.pl> NNTP-Posting-Host: 89-69-207-111.dynamic.chello.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1516575420 31831 89.69.207.111 (21 Jan 2018 22:57:00 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Sun, 21 Jan 2018 22:57:00 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 X-Mozilla-News-Host: news://news.atman.pl:119 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit