JavaScript对象和类

本文介绍了JavaScript的面向对象编程,从面向过程和面向对象的概念出发,详细讲解了ES6中的类和对象,包括对象的创建方式、类的定义与构造函数,以及类的继承机制。通过实例演示了如何在类中封装属性和方法,以及利用继承实现代码复用。
摘要由CSDN通过智能技术生成

一、面向对象编程

1.面向过程

面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的调用

2.面向对象

面向对象:把事务分解成一个个的对象,然后由对象之间分工与合作,面向对象一对象功能来划分

特点:

  • 封装性
  • 继承性
  • 多态性

二、ES6中的类和对象

1.对象

(1)面向对象的思维特点:

  • 抽取对象共用的属性和行为阻止(封装)成一个类
  • 对类进行实例化,获取类的对象

(2)对象:一组无序的相关属性和方法的集合,所有事物都是对象,对象由属性(事物的特征)和方法(食物的行为)组成。

(3)创建对象的三种方式:

①对象字面量(语法糖)

var obj1 = {};

②new Object()

var obj2 = new Object();

③自定义构造函数

function Star(uname, age) {
    this.uname = uname;
    this.age = age;
    this.sing = function() {
        console.log('唱歌');
    }
}
var ldh = new Star('刘德华', 18);
console.log(ldh);
console.log(ldh.sing);

2.类

ES6新增类的概念,使用class关键字声明一个类,通过类来实例化对象,类抽象了对象的公共部分,泛指某一大类

创建类

class 自定义类名{  }let  自定义对象名 = new 类名();

注意:
①类的名字遵守帕斯卡命名法
②定义类的时候,类名后不加()
③使用类创建对象时,类名后加()
总结:
①类中设置的属性放到constructor构造函数中
②constructor前面不加任何关键字
③创建对象就要用到类
④使用类创建对象时,程序自动调用constructor构造函数
⑤类中的方法放到constructor构造函数外部
⑥类中方法之间不加分隔符

类constructor构造函数

constructor()方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过new命令生成对象实例时,自动调用该方法,若没有显示定义,类内部会自动给我们创建一个constructor()。
使用类添加方法:方法之间不能加逗号分隔,方法不需要添加function关键字

三、类的继承

1.继承

继承:子类可以继承父类的一些属性和方法

<script>
    class Father {
        constructor(x, y) {
            this.x = x;
            this.y = y;
        }
        sum() {
            console.log(this.x + this.y);
        }
        money() {
            console.log(100);
        }
    }
    class Son extends Father {
        constructor(x, y) {
            super(x, y);
        }
    }
    var son = new Son(1, 2);
    son.money();
    son.sum();
</script>

extends:继承
super关键字:用于访问和调用对象父类的构造函数和普通函数

①属性继承

  • 如果子类中没有设置构造函数,则可以直接使用父类中对应的属性,不需要加super关键字
  • 如果子类中有构造函数,则必须在子类构造函数this之前通过super()调用父类的构造函数
  • super关键字作用:如果在构造函数中使用,则super是用来调用父类构造函数的,如果是在普通方法,super是用来调用父类中的普通方法的

②方法继承

  • 如果子类中没有父类中的同名方法,则方法继承的时候,子类直接调用父类的方法
  • 如果子类中设置了父类中的同名方法,则子类继承的时候,子类方法执行是按照原型链执行的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值