[英]Accessing and executing function in child class from base class
是否可以從基類訪問子類成員並執行子功能?
例如:
class ChildClass extends BaseClass {
protected childMember = 'someName';
constructor() {
super();
super.runBaseFn();
}
runChildFn() {
console.info('child fn');
}
}
class BaseClass {
runBaseFn() {
if (child.childMember === 'someName') {
child.runChildFn();
}
}
}
這有可能在runBaseFn
完成代碼嗎? 或任何類似的解決方案?
您需要在父類中聲明:
class BaseClass {
protected childMember: string;
runBaseFn() {
if (this.childMember === 'someName') {
this.runChildFn();
}
}
protected runChildFn() {}
}
class ChildClass extends BaseClass {
constructor() {
super();
this.childMember = 'someName';
super.runBaseFn();
}
runChildFn() {
console.info('child fn');
}
}
( 操場上的代碼 )
您可以使父類abstract
:
abstract class BaseClass {
protected childMember: string;
runBaseFn() {
if (this.childMember === 'someName') {
this.runChildFn();
}
}
protected abstract runChildFn();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.