我们常用的,根据要求,来一步步完成程序的定义和执行,这种方式我们称为面向过程的思维方式,它是以过程为核心,分析解决问题需要的步骤,然后分别实现这些过程。而与之相对的,就是面向对象的编程思想。就好比你想吃炸鸡,面向过程告诉你,你需要自己去买食材,回来处理,然后起锅烧油,炸;而面向对象,就是你自己打开手机,然后打开外卖,叫一份炸鸡,这个炸鸡做的过程你并不需要考虑,你只需要输入你想吃的口味,就可以得到相关的结果。那究竟什么是面向对象呢?

1.面向对象思想

首先,我们知道,“万物皆对象”,面向对象编程就是把一类具有相同属性抽象为对象的模板,把属性和方法封装在一个类中,将程序中的所有东西都当作对象来处理。确实,在某些方面,面向过程相对来说要简单些,但是在一些大型项目中,面向对象的编程思想更加模块化,同时方便更新与维护。

2.面向对象的四大基本特征:

面向对象的四大基本特征是  抽象   封装   继承   多态。

抽象就是将事物的本质高度抽象化,提取事物的关键特性,为该事物构造模型的过程,这个抽象模型我们称之为类,其中包含属性和方法,从而通过对类进行实例化得到具体的对象。

封装就是把属性和方法都封装为类, 之后通过这些方法去访问和操作数据,而这些封装的方法,有助于实现模块化编程,同样在之后代码的维护和修改中,更加方便。

继承是对现有类的复用机制,它提供了一种共有性质的方法,对象的一个新类可以从现有类中产生,这个过程就是继承,新类可以继承方法和属性,通过操作这些方法,实现需求。

多态就是指在不同的情况下,实现方法的重载和方法的重写,在方法名称相同的情况下,根据不同的情况,调用不同的方法,能灵活实现不同项目的需求。

3.基本语法形式:

实现的原理如图:

 

 

在ES5中,通过创建构造函数,通过this指向给实例化对象添加属性,同时在构造函数的prototype中定义方法。

通过关键词new生成实例化对象,这时的函数默认返回值就是这个生成的对象,this指向即为这个生成的实例化对象。使用时,对象中的__proto__即可以访问到构造函数prototype中定义的方法,从而实现需求。

 

 而ES6中引入了类的概念,通过class关键字可以定义类,类中的constructor,他的作用和ES5中的构造函数相同。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2020-04-18 16:36  哒_哒  阅读(150)  评论(0编辑  收藏  举报