Skip to content

基础面向对象知识

类和对象

类就是一类事物的抽象,使用 class 进行声明

对象

对象就是一个实实在在的事物,就代码层面来说一般是某个类的实例,通过new关键字进行实例化。

面向对象三要素

继承、封装、多态

继承

目的:公共属性方法的提升,减少代码重复

extends

使用 extends 关键字来实现继承父类

js
class Child extends Parent {
  // ...
}

super 关键字,在constructor构造函数中,可以直接使用 super 来继承父类的属性

封装

目的:高内聚,低耦合

可见性修饰符

TS 中

  • public 所有的都可以访问
  • protected 只有在当前类或者子类中访问,在实例中访问不了
  • private 只有在当前类中可以访问,不能被子类继承,不能通过 super 关键字访问,子类、实例中都不可以通过.属性名进行访问

JS 中

  • 没有 public、private 关键字这一说,没有 protected。
  • 默认类中变量名前面有#就是 private 私有属性,没有#就是 public 公有属性

多态

目的:子类有更多扩展性,更自由

重写

对原父类的方法代码进行修改,替换成自己想要的样子

重载

对方法参数进行扩展

Released under the ISC License.