繁体   English   中英

基类调用 Subscription 中的抽象方法

[英]Base class invokes abstract method in Subscription

我想问一下是否可以在基类中也可以在 Subscription 中调用抽象方法(在基抽象类中定义,在实例类中实现)?

例如在基类中:

@Input() observable: Observable<void>;
this.subscription = this.observable.subscribe(() => this.process());
abstract process() : void;

在实例类中:

process(): void {
   console.log('process');
}

如果订阅是在实例类端定义的,它就可以工作。

是的。 抽象类中的方法可以调用将在其子类中定义的抽象方法。 例如,此代码按预期工作:

abstract class BaseClass {
    abstract process():void
    subscribe(){
        this.process()
    }
}

class MyClass extends BaseClass {
    process(){
        console.log("run me")
    }
}

let x = new MyClass()

x.subscribe()

操场

是的,它正在工作,我只是忘记调用 super.ngOnInit() :D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM