美文网首页
javaScript面向对象三要素之继承

javaScript面向对象三要素之继承

作者: 喜剧之王爱创作 | 来源:发表于2020-10-16 10:55 被阅读0次

什么是面向对象三要素

在面向对象编程中,有三个比较重要的概念,分别是

  • 继承,子类继承父类
  • 封装,数据的权限和保密(前端应用较少)
  • 多态,统一接口的不同实现(前端应用较少)

因为JS是一门弱类型语言,有一些概念是无法实现的,比如封装和多态,由于JS语法的限制, 我们在实际的开发中,应用很少,在上面三个重要概念中,应用最多的还是继承,这篇文章,我们将讲解一下继承的概念,在后面的文章中,也会通过一些例子去演示一下封装和多态,让大家有个了解。

继承

继承的概念大家应该不会太陌生,无论是平时的开发中(如react中的class组件创建)还是在一些面试中,都比较常见,例子也比较多,继承的本质是,一个类,去继承另外一个类,我们之前说到过,类其实就是一个模板,用来生产对象的模板,那么继承就是相当于,一个模板去复制另外一个模板的特性,然后加入自己的特性的这么一个过程。我们来看一下下面一个常见的例子

// 父类
class People {
    constructor (name, age) {
        this.name = name
        this.age = age
    }

    eat () {
        alert(`${this.name} eat somthing`)
    }
    spark () {
        alert(`My name is ${this.name}, age ${this.age}`)
    }
}

// 子类继承父类
class Student extends People {
    constructor (name, age, number) {
        super(name, age)
        this.number = number
    }
    study () {
        alert(`${this.name} study`)
    }
}

const Lee = new Student('lee', 21, 50)
console.log(Lee)

上面的代码中,People是一个类,一个模板,其中包括了一些属性和方法,但其属性和方法比较有限,我们想要再创建一个类,这个类不仅需要有People的属性和方法,还要有自己的属性和方法,这时候我们就用到了继承,上面代码的意思是,我们有一个“人”的类,其中包括一些人的通用属性和方法,但是人又分许多种,比如“学生”类,我们既有人的特性,又有他自己的特性。通过运行上面的代码,得到这样的结果

微信图片_20201016102458.png
可以看到,继承过People类的Student类new 出来的实例,不但具有People类的特性又具有自己的特性,这就是继承,其中extends是ES6的一个继承关键字。如果你已经听上面的理论已经听腻了,我建议你手敲一下上面的代码,感受一下来自JS ES6的继承。

写在后面

本节我们对JS面向对象中的三要素之继承做了简单的讲解和代码演示,整体内容比较简单,如果你的基础比较薄弱,还是要跟着我的代码走一遍哦。我们会循序渐进,加大难度,现在打好基础,后面我们将设计模式,将更加的轻松。

相关文章

  • javaScript面向对象三要素之继承

    什么是面向对象三要素 在面向对象编程中,有三个比较重要的概念,分别是 继承,子类继承父类 封装,数据的权限和保密(...

  • Web前端经典面试试题及答案2

    javascript面向对象中继承实现? 面向对象的基本特征有:封闭、继承、多态。在JavaScript中实现继承...

  • JavaScript 面向对象之 继承

    继承的概念 通过一个类(父类、父构造函数)创建出另一个类(子类、子构造函数),这样创建出来的类不仅拥有原有类的属...

  • JavaScript 面向对象编程

    JavaScript 快速入门 面向对象编程创建对象构造函数忘记写new怎么办?原型继承class继承 面向对象编...

  • 《JavaScript设计模式与开发实践》之面向对象的JavaS

    面向对象的JavaScript JavaScript 没有提供传统面向对象语言中的类式继承,而是通过原型委托的方式...

  • JavaScript面向对象 - 对象继承

    继承是 OO 语言中的一个最为人津津乐道的概念。许多 OO 语言都支持两种继承方式:接口继承 和 实现继承。接口继...

  • JavaScript面向对象继承

    1、函数的调用方式 既可以使用函数名+()的形式调用,也可以使用函数名+call()的形式调用; 两种调用方式的区...

  • JavaScript - 面向对象 - 继承

    这一节,主要讲解面向对象的继承,回顾上一节讲解到判断对象原型和实例对象的两种方法.废话不多说,直接上代码 ! 继承...

  • javaScript面向对象—继承

    继承的概念 继承:子类可以访问父类的所有属性和方法,并且可以对这些属性和方法进行扩展 继承的几种方式 原型链继承利...

  • Python25_面向对象

    面向对象 ps:不管是什么语言,面向对象的三要素都是:封装(把变量和函数用类封装起来)、继承、多态 面向对象(OO...

网友评论

      本文标题:javaScript面向对象三要素之继承

      本文链接:https://www.haomeiwen.com/subject/rotzpktx.html