美文网首页
class类的基本用法 及 继承

class类的基本用法 及 继承

作者: 青城墨阕 | 来源:发表于2022-06-24 19:13 被阅读0次

基本用法

  • 作用相当于一个构造函数
  • 通过关键词class来定义类/实现类的继承
  • 静态属性的用关键字static修饰
  • constructor为类的构造方法,会自执行
  • 类的一般方法,相当于定义在实例对象的原型对象上
class Person {
    // 类的静态属性,关键字static,给类自身添加属性
    static staticFun = function() {
        console.log('类的静态属性,关键字static,给类自身添加属性');
    };

    // constructor 类的构造方法,会自执行
    constructor(name, age) {
        console.log('执行类的构造方法');
        this.name = name;
        this.age = age;
    }

    /**
    * 类的一般方法:
    * 相当于定义在实例对象的原型对象上
    * 即若Person为一个构造函数,则类的一般方法相当于 Person.prototype.showMsg
    **/
    showMsg() {
        console.log(this.name, ' & ', this.age);
    }
};
构造函数的形式

继承

  • 通过关键词extends来实现类的继承
  • 通过super()调用父类的构造方法
  • 重写从父类继承的一般方法
// 父类复用上面的Person
// 子类
class childPerson extends Person {
    constructor(name, age, sex) {
        super(name, age); // 调用父类的构造方法
        this.sex = sex;
    }
    // 直接重写一般方法
    showMsg() {
        console.log(this.name, ' & ', this.age, ' & ', this.sex);
    }
}

let child1 = new childPerson('zhangsan', 50, '男');

另:若之前学习的构造函数的继承方式有所遗忘,可参考原型、原型链、及拓展(继承模式)

特点

参考:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/20

  • class 声明会提升,但不会初始化赋值。(类似于 let、const 声明变量;)
  • class 声明内部会启用严格模式;
  • class 的所有方法(包括静态方法和实例方法)都是不可枚举的;
  • class 的所有方法(包括静态方法和实例方法)都没有原型对象 prototype,所以也没有 [[constructor]],不能使用 new 来调用;
  • 必须使用 new 来调用 class;
  • class 内部无法重写类名;

相关文章

  • class类的基本用法 及 继承

    基本用法 作用相当于一个构造函数 通过关键词class来定义类/实现类的继承 静态属性的用关键字static修饰 ...

  • es6--Class类与继承的用法

    一个demo说明class类与继承的用法

  • Class 的继承 extend继承 es6继承基本用法

    Class继承基本用法 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,...

  • 夯实Java基础系列9:深入理解Class类和Object类

    目录 Java中Class类及用法Class类原理如何获得一个Class类对象使用Class类的对象来生成目标类的...

  • 继承和接口

    继承(class 子类 extends 父类)Override:方法重写只改动方法体。 继承不能继承父类私有属性及...

  • 继承

    继承 继承的基本概念和语法 子类继承基类,基类派生子类,子类IsA基类。 class 子类名 : 继承方式描述符1...

  • python 继承和多态

    来自廖雪峰class(类)可以被继承,新的class称为子类(Subclass),被继承的class是基类、父类或...

  • 2017 09 18

    相关知识点的学习与运用: 一.继承和派生: 1.继承: 1-1基本结构: class派生类名:继承方式 基类名 {...

  • es6解读4: 类

    类的基本定义和生成实例:class 类的继承 :extends 类中的getter 和 setter 分别用来设置...

  • Swift-11:protocol

    本文主要分析protocol的用法及底层存储结构 协议的基本用法 【语法格式】:协议的语法格式 class、str...

网友评论

      本文标题:class类的基本用法 及 继承

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