ES6 Class基本使用和继承

本文介绍了ES6的Class特性,包括类的基本使用、构造方法、实例化、静态属性和方法。讲解了Class的实例属性、静态属性与静态方法,并深入探讨了类的继承、this和super关键字的用法。通过案例分享,帮助读者理解和应用Class。
摘要由CSDN通过智能技术生成

Class基本使用和继承

      内容大纲:

                     1、Class的使用和构造方法
                     2、类的实例
                     3、类的继承、this和super关键字
                     4、案例分享(便于理解class类)

一、Class的使用和构造方法

      1.1 Class 类概述

ES6 引入了 Class(类)这个概念,作为对象的模板。可以通过 class 关键字定义类。
class 的本质是一个 function函数。
它可以看作一个语法糖,让对象原型的写法更加清晰、更像面向对象编程的语法。

      1.2 Class 类的基础用法

// 定义一个类
class Example {
   
    constructor(a,b) {
   
        this.a = a;
        this.b = b;
    };
};
注意:
  • 虽然class类 相当于一个function但是不用像创建一个function一样在函数名后面加括号,加了反而错了
  • class 类声明不能重复

      1.3 Class 类的构造方法(constructor 方法)

// constructor 方法是类的默认方法,创建类的实例化对象时被调用。
class Example{
   
    constructor(){
   
      console.log('hello world');
    }
}
new Example(); // hello world
// constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。
class Example{
   
}
// 等同于
class Example{
   
    constructor(){
   
    }
}
// 即 定义了一个空的类Example,JavaScript 引擎会自动为它添加一个空的constructor方法。

二、类的实例

      2.1 类的实例化

// 定义一个类
class Example {
   
	//代码块
};
// 实例化一个类
var  example = new Example();

      2.2 实例属性和实例方法

// 实例属性:定义在实例对象( this )上的属性。
class Example {
   
    a = 2;
    constructor () {
   
        console.log(this.a);
    }
}
// 实例方法
class Example {
   
    constructor() {
   
        this.sum = (a, b) => {
   
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6 class是一种用于定义对象的语法糖,它可以更方便地定义类和继承。 1. 定义类 要定义一个类,可以使用class关键字,后面跟类名,类名通常首字母大写。 ```javascript class Person { constructor(name, age) { this.name = name; this.age = age; } sayHello() { console.log(`Hello, my name is ${this.name}.`); } } ``` 上面的代码定义了一个名为Person的类,它有一个构造函数和一个方法sayHello。构造函数接受两个参数name和age,用于初始化对象的属性。sayHello方法用于输出对象的名字。 2. 创建对象 要创建一个类的对象,可以使用new关键字,并传入构造函数需要的参数。 ```javascript const person = new Person('Tom', 18); console.log(person.name); // 'Tom' console.log(person.age); // 18 person.sayHello(); // 'Hello, my name is Tom.' ``` 上面的代码创建了一个名为person的对象,它的名字是Tom,年龄是18,然后调用了它的sayHello方法输出了自己的名字。 3. 继承继承一个类,可以使用extends关键字,并指定父类的名称。 ```javascript class Student extends Person { constructor(name, age, grade) { super(name, age); this.grade = grade; } study() { console.log(`I'm studying in grade ${this.grade}.`); } } ``` 上面的代码定义了一个名为Student的类,它继承自Person类。Student类有一个构造函数和一个方法study。构造函数接受三个参数name、age和grade,其中前两个用于初始化父类的属性,后一个用于初始化自己的属性。study方法用于输出学生的年级。 4. 调用父类方法 在子类中,可以使用super关键字调用父类的方法或属性。 ```javascript class Student extends Person { constructor(name, age, grade) { super(name, age); this.grade = grade; } sayHello() { super.sayHello(); console.log(`I'm a student in grade ${this.grade}.`); } } ``` 上面的代码重新定义了Student类的sayHello方法,并在其中调用了父类的sayHello方法。这样,每次调用子类的sayHello方法时,都会先输出父类的信息,然后再输出子类的信息。 5. 静态方法 类中可以定义静态方法,通过类名调用,而不是通过对象调用。 ```javascript class Calculator { static add(a, b) { return a + b; } static subtract(a, b) { return a - b; } } ``` 上面的代码定义了一个名为Calculator的类,它有两个静态方法add和subtract,用于执行加法和减法运算。这些方法可以直接通过类名调用,而不需要先创建对象。 ```javascript console.log(Calculator.add(1, 2)); // 3 console.log(Calculator.subtract(3, 2)); // 1 ``` 上面的代码分别调用了Calculator类的add和subtract方法,输出了它们的计算结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值