- 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: '小黄狗' }