JS面向对象

  • 面向对象
    我们知道程序设计方法有两种,一种是面向过程,以过程为中心,自顶向下逐步细化,另外一种是面向对象,对象作为程序的基本单元,程序分解为数据和相关操作。
    • 我们先来看这个例子,我们说张三是一个老师,那我们怎么描述张三呢?通过添加姓名性别年龄课程等属性,来描述张三这一个对象,同样李四也是可以的,同时作为老师,他们有一个共同的特点,我们可以把这些共性抽象出老师,其中姓名性别年龄课程都是老师的共同属性,除此之外,老师还可以添加课程,在JS中称之为方法,同理也有学生,在老师和学生我们还可以抽象出人这样的类别。


      JS面向对象_第1张图片
      面向对象
    • 所以在面向对象的基本概念里面有类,对象,属性,方法。
    • 而除此之外面向对象的基本特性有
      -继承:老师(子类)继承人(父类)
      -封装:将用户可见和不可见的部分良好的分开
      -多态:接口的不同实现方式,比如子类继承父类,就可以重写父类的方法来实现不同的方法
  • JS面向对象
    • constructor(对象构造器)
      • 自定义构造器
        通过函数来创建自定义构造器,在构造器中,使用this可以创造对象的属性,函数类型的属性就是我们所说的构造函数的方法。
        有三种形式可以创造自定义构造器,分别是函数定义,函数表达式,和new function的方式。
      • 用户自定义构造器可以当成constructor,但是并不是所有函数都可以当成constructor
      • 如果一个构造器里面有一个返回值,就会创建一个新的对象
    • this
      • 根据不同的场景调用不同的对象


        JS面向对象_第2张图片
        this
      • call:改变函数调动的对象,调用指定this的参数
      • apply:改变函数调动的对象,调用指定this的参数,参数是数组

你可能感兴趣的:(JS面向对象)