TS中类的定义
// ts中类的定义
class Person {
name: string; //属性 前面省略了public关键词
constructor(name: string) {
//构造函数 实例化类的时候触发的方法 构造函数没有返回类型 void也没有
this.name = name;
}
getName(): string {
return this.name;
}
setName(name: string): void {
this.name = name;
}
run(): void {
alert(this.name);
}
}
类的实例化和调用
var p = new Person("张三");
p.run();
ts中实现继承 extends、 super
class Student extends Person {
constructor(name: string) {
super(name);
}
}
var student = new Student("学生");
student.run();
子类可以拓展父类的方法和属性,也可以重写父类的方法。和java类似
class Student2 extends Person {
constructor(name: string) {
super(name);
}
run(): string {
return `${
this.name}在运动-子类`;
}
work(): void {
alert(`${
this.name}在工作`);
}
}
类里面的修饰符
typescript里面定义属性的时候给我们提供了 三种修饰符
- public :公有 在当前类里面、 子类 、类外面都可以访问
- protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
- private :私有 在当前类里面可以访问,子类、类外部都没法访问
- 属性如果不加修饰符 默认就是 公有 (public)