在Angular2中,假设我有一个
Parent
类和一个Child1
类,它们具有相同的属性/成员和方法。如何初始化Child1
类?
服务
@Injectable()
export class Parent {
constructor(
private currentImg: string,
private catImg: string,
private dogImg: string,
private enable: boolean) {
}
onMouseOver() {
enable = true;
currentImg = catImg;
}
onMouseClick() {
enable = false;
currentImg = dogImg;
}
}
其中一个子类想要继承Parent
类:
import {Parent} from "./Parent";
@Component({
selector: 'app',
templateUrl: 'app/child.html',
providers: [Parent]
})
export class Child1 {
private currentImg: string = "img/dog.png",
private catImg: string = "img/cat.png",
private dogImg: string = "img/dog.png",
private enable: false
constructor(private _parent: Parent) {
}
onMouseOver() {
this._parent.onMouseOver();
}
onMouseClick() {
this._parent.onMouseClick();
}
}
Child1
具有相同名称的Parent
属性设置为什么? - acdcjuniorChild1 extends Parent
)的情况下实现吗?或者你不知道这一点? - acdcjuniorextends
并在构造函数中调用super()
,类将继承基类方法和属性,你可以在需要时使用或重写它们。请看我的回答。 - Sasxa