js面向对象和ES6新增类class

js面向对象和ES6新增类class

1.面向过程和面向对象

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

**面向对象:**面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。

面向过程 面向对象
优点 性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程。 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护
缺点 不易维护、不易复用、不易扩展 性能比面向过程低

2.对象

对象是由属性和方法组成的,是一个无需键值对的集合,指的是一个具体的事物;

属性:事物特征,在对象中用属性来表示;

方法:事物的行为,在对象中用方法表示;

3.类

在ES6中新增了类的概念,可以使用class关键字声明一个类,之后以这个类来实例化对象,类抽象了对象的公共部分,它泛指某一大类class对象特指某一个,用过实例化一个具体的对象;

3.1创建类

//使用class关键字
class Animal {
    constructor(name,age) {   // constructor 构造器或者构造函数
      this.name = name;
      this.age = age;
    }
}
new Animal(name,age);

3.2类创建添加属性和方法

//使用class关键字
class Animal {
    constructor(name,age) {   // constructor 构造器或者构造函数
      this.name = name;
      this.age = age;
    }
    bark(){
        console.log('旺旺旺');
    }
}
//使用定义的类创建实例  注意new关键字
var dog = new Animal('dog',5);
dog.bark();

你可能感兴趣的:(JavaScript)