面向对象和面向过程、对象、类、实例

强烈推荐这个视频B站 - 2019全新javaScript进阶面向对象ES6

面向过程和面向对象

面向过程:按照步骤一步一步来实现。好比蛋炒饭

面向对象:先把对象找出来,再看对象里有什么功能,再把功能实现。好比盖浇饭

面向对象更贴近我们的实际生活,可以使用面向对象描述现实世界事物,但是事物分为抽象的事物和具体的事物。如果程序比较大,多人合作,则用面向对象

面向对象的特性

  • 封装性(封装代码)

  • 继承性(儿子继承爸爸的一些属性和方法)

  • 多态性(同一个对象在不同时刻有不同状态)

对象

现实生活中:万物皆对象,对象是一个具体的事物,能看得见摸得着。例如:一本书、一辆汽车、一个人是一个对象,一个数据库、一张网页、一个远程服务器的连接也可以是对象。

在javascript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如:字符串、数值、数组、函数等

对象是由属性和方法组成的

在ES6中新增加了类的概念,可以使用class关键字声明一个类,之后以这个类来实例化对象

类抽取了抽象对象的公共部分,它泛指某一大类(class)(比如手机、明星)

而对象特指某一个,通过类实例化一个具体的对象(比如小米)

  • 抽取(抽象)对象共用的属性和行为组织(封装)成一个类(模板)

  • 对类进行实例化,获取类的对象

一言以蔽之:每个具体对象(Object)都是某个类(Class)的实例(Instance)

new的作用:

  • 创建对象,实例化对象

  • 实例化对象,赋予对象空间,即堆内存地址

  • 调用构造函数

原文地址:https://www.cnblogs.com/L-xmin/p/12778608.html