类
类就是面向对象编程,javascript基于原型的方法来实现类,es6之后引入class关键字,本质上虽然还是构造函数,但是开发者已经可以比较舒服地使用class类
对于一些特性,javascript依然还没有加入,比如修复复和抽象类等
抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。
typescript创建抽象类等方法如下:
abstract class Animal{
abstract makesound:void;
mobe():void{
console.log('roaming the earch...')
}
}
抽象类不能被直接实例化
class Cat extends Animal{
makeSound(){
console.log('miao miao')
}
}
const cat = new Cat()
cat.makeSound() // miao miao
cat.move() //roaming the earch ...
访问限定符号
typescript同样含有三类限定符,分别是:public,private,protected。
public都可以访问,private,protected都是只能类内部成员访问,区别在于protected可以子类访问,而private不可以。