让你彻底理解Typescript中静态成员和抽象方法

  • A+
所属分类:Web前端

1.Typescript中static详解

静态成员:在类中通过 static 修饰的属性或者方法 那么就是静态的属性静态方法 也称之为:静态成员(静态成员包含静态属性和静态方法) 静态成员在使用的时候通过【类名.静态属性】来访问 

2.访问和修改static静态成员的小栗子

class Person{     // 类中默认有一个内置name属性     // 静态属性myname     static myname:string='小可爱'     sayHi() {         console.log('sayHi')     } } const per = new Person(); // 访问类中的静态属性 console.log(Person.myname); // 修改类中的静态属性 Person.myname = '大可爱' console.log(Person.myname); //输出[大可爱] 

3.抽象方法

抽象类中包含抽象方法:(抽象方法一般【没有任何具体内容】的实现) 抽象类中也可以包含实例方法 抽象类是不能够被实例化 抽象类可以让子类进行实例化以及实现内部所有的抽象方法 抽象类中也可以有抽象属性 {但是在实际开发过程中抽象类中一班不会有抽象属性} 我们知道了抽象类中可以包含:抽象属性  抽象方法  实例方法 ps:子类继承了抽象类,子类就必须实现抽象类中的抽象方法 

4.写抽象类的注意点

abstract class Animals{     // 这样写法是错误的,     // 因为抽象方法一般没有任何具体内容的实现     // abstract eat (){     //     console.log('跑着吃,跳着吃')     // }     abstract eat() } // 这样的写法是错误的。 // 因为:抽象类不能够被实例化 // let dog=new Animals() 

5.抽象类

abstract class Animals{     // 这样写法是错误的,     // 因为抽象方法一般没有任何具体内容的实现     // abstract eat (){     //     console.log('跑着吃,跳着吃')     // }     abstract eat()     abstract sleep();     // 抽象类中的抽象属性     abstract myname: string     // 抽象方法也可以包含实例方法     say() {         console.log('你好啊')     } } // 子类继承了抽象类,子类就必须实现抽象类中的抽象方法 class Dog extends Animals {     // 重新实现抽象类中的抽象方法     eat() {         console.log('我是狗,趴着吃')     }     // 重新实现抽象类中的抽象方法     sleep() {         console.log('我是狗,趴着睡')     }     // 实现抽象属性     myname: string="狗子" } // 实例化 let xiaohei = new Dog();  // 直接调用方法 xiaohei.eat();//我是狗,趴着吃  // 调用的是抽象类中的实例方法 xiaohei.say();//你好啊  // 修改类中的属性 xiaohei.myname = '小黄狗' console.log(xiaohei) // 输出 Dog { myname: '小黄狗' }