【发布时间】:2018-06-04 19:48:15
【问题描述】:
我有一个类扩展了另一个类。例如:
class Store extends BehaviorSubject {
constructor(obj) {
super(obj)
}
}
我还有更多类扩展Store。
我需要的是一种从BehaviorSubject 超类中隐藏某些属性的方法,例如next() 方法。
class SomeStore extends Store {
}
// I want to hide from this class some methods, properties
// That exists on the BehaviorSubject class.
const s = new SomeStore();
有办法做到这一点吗?
【问题讨论】:
-
是的,我只想让商店知道这个道具。
-
没有“隐藏”这些属性的好方法。我强烈建议重新考虑这种方法。最好不要直接从
Store继承,而是包装到一个专门设计的类中,该类不会暴露Store的next()以及您想要隐藏的所有其他内容。 -
@Igor 你能举个例子吗?
-
我知道您已经接受了另一个答案,但如果您愿意,可以查看我的代码变体。
标签: javascript typescript