纯属个人学习,加深记忆使用。
静态属性 静态方法
使用 static 关键字
class Person {
name: string; //属性 省略了public关键词
static sex = '男';
constructor(name: string) { //构造函数
this.name = name;
}
static print():void{
console.log("静态方法")
}
}
Person.print();
静态方法里不能直接调用类里面的属性,需要将属性也设置为静态
class Person {
name: string; //属性 省略了public关键词
static sex = '男';
constructor(name: string) { //构造函数
this.name = name;
}
static print1():void{
console.log("静态方法"+this.name)//错误 显示undefind
}
static print2():void{
console.log("静态方法"+Person.sex)//正确
}
}
多态
子类重写父类的方法,与Java相同,每个子类有不同的表现
抽象类
使用abstract关键字
抽象方法只能放在抽象类里面
抽象类不能创建实例
abstract class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
abstract eat(): any;
}
class Dog extends Animal {
constructor(name: string) {
super(name);
}
eat() { //抽象类的子类必须实现抽象类的抽象方法
console.log(this.name + '吃骨头');
}
}