在Angular 6和TypeScript中,子类可以继承父类并且可以隐藏子类的变量。下面是一个示例代码:
class Parent {
protected variable: string = 'Parent variable';
protected method(): void {
console.log('This is a method in parent class');
}
}
class Child extends Parent {
private variable: string = 'Child variable';
public displayVariable(): void {
console.log(this.variable); // 输出 'Child variable'
console.log(super.variable); // 输出 'Parent variable'
}
public callParentMethod(): void {
super.method(); // 调用父类的方法
}
}
const child = new Child();
child.displayVariable();
child.callParentMethod();
在这个例子中,父类Parent有一个受保护的变量variable和一个受保护的方法method。子类Child通过继承Parent类,可以访问和覆盖这些变量和方法。
子类Child定义了一个私有变量variable,它隐藏了父类中的同名变量。通过super.variable,可以访问父类中的变量。
在displayVariable方法中,子类实例child可以访问子类中的variable和父类中的variable。
在callParentMethod方法中,子类实例child可以通过super.method()调用父类中的方法。
总结:
super关键字,子类可以访问父类中的变量和方法。