今天要来带大家看看TypeScript(TS)的类别(Class)继承(Inheritance)范例,
那麽我们直接来看程序码吧。
首先,建立一个类别,
class Employee {
constructor(private empId: number, private empName: string) { }
showInfo() {
return this.empId + "-" + this.empName;
};
}
这边与*Day14-TypeScript(TS)使用成员存取修饰词(Access Modifier)*的使用方式二,
范例相同,
若是不理解的可以回去看看喔,
这边我就不再赘述了。
接这要继承Employee类别范例如下,
class Sales extends Employee {
constructor(empId: number, empName: string, public bonus?: number) {
super(empId, empName);
this.bonus = 1000;
}
}
范例程序码宣告一个Sales类别,
使用extends关键字来继承Employee类别,
并在建构函式(constructor)中呼叫super(),
用来呼叫父类别的建构函式程序,
这边特别需要注意的是
重复的成员不要写存取方式,
因此在Sales类别的建构函式成员中,
只有bonus
前方有加上成员存取修饰词*(Day15-TypeScript(TS)的存取子(Accessors))*,
而bonus
後方的 ?则为选择性属性 (Day12-TypeScript(TS)的选择性属性(Optional Properties)),
最後式使用方式,
let emp1 = new Employee(1, "Mary");
console.log(emp1.showInfo());
let s1 = new Sales(2, "Sam");
console.log(s1.showInfo());
console.log(s1.bonus);
父类别与子类别的使用方式并无不同,
就是一般的类别使用方式。
今天带范例也带出了之前有学到的东西,
若是看不明白的话也可以到上面标记的篇章回去复习喔,
加油加油喔。
<<: Day-18 Pytorch 的 Logistic Regrssion
>>: 【Day 19】 实作 - 透过 AWS 服务 Glue Job 调整 Partition 以及档案格式
本篇分享简易版的RWD的轮播效果功能 上一篇我们有简约的使用tab做轮播,但一般想做的轮播应该会是...
在真实世界中,物体因为反射光进我们的眼中,而能被看见;因此,除了物体形状外,材质与光之间的关系是3D...
Explore Azure Security Center Provide threat prote...
MySQL or MariaDB CentOS 的 rpm 套件管理器预设没有 MySQL repo...
kotlin kotlin 也一样来让小鸡跳起来吧 这边也一样有很多种动画的写法 同swift来玩玩...