typescript之类

类就是面向对象编程,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不可以。

你可能感兴趣的:(typescript之类)