代码和结果也发上来,
class A{
a:number;
constructor(c){
this.a=c;
}
}
class B extends A{
fnb(){
super(7);// 这2行一个意思,就是想尽办法改写父类的a的属性值
super().a=7;// 这2行一个意思,就是想尽办法改写父类的a的属性值
}
}
class C extends A{
fnc(){
// 这里面又要读到父类的a属性值,而且是读到被b的方法处理过后的值。所以必须要求父类a属性的值可写才行
}
}
let a=new A();
let b=new B();
let c=new C();
b.fnb();
console.log(a.a);
c.fnc();
【 在 xiatianup (李 ,只是期待夏天!!) 的大作中提到: 】
: 应该不算一个奇怪的需求吧。
: 求方案。
: 我想的只有把a属性搬出去,不放在类里面,但是想知道如果放在类里面,且是一个公共值,可以被各种子类里的方法改写并记住,有没有什么好的方案。
: ...................
--
FROM 49.222.129.*