在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
关键字,子类可以访问父类中的变量和方法。