好程序员前端教程-javascript的面向对象
一、什么是面向对象?
1.面向对象就是把构成问题是无分解成多个对象,建立对象不是为了完成某个步骤,而是描述某个事物在这个解决问题的步骤中的行为。
2.面向对象是一种思维方法。
3·面向对象是一种编程方法。
4·面向对象并不只针对某一种编程语言。
二、面向对象和面向过程的区别和联系?
1.面向过程侧重整个问题的解决步骤,着眼局部或者具体。
2·面向对象侧重具体的功能,让某个对象具有这样的功能,更侧重整体。
面向过程的优点:
1.流程化使得编程任务明确,在开发之前基本考虑实现的方法和最终结果;
2.效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率程序;
3.流程明确,具体步骤清楚,便于节点分析。
面向过程的缺点:
1.需要深入的思考,耗费精力,代码重用性低,扩展能力差,维护起来难度比较高。
2.对复杂业务来说,面向过程的模块难度较高,耦合度也比较高。
面向对象的优点:
1.结构清晰,程序便于模块化,结构化,抽象化,更加符合人类的思维方式;
2.封装性,将事务高度抽象,从而便于流程中的行为分析,也便于操作和自省;
3.容易扩展,代码重用率高,可继承,可覆盖;
4.实现简单,可有效地减少程序的维护工作量,软件开发效率高。?
面向对象的缺点是:
1.效率低,面向对象在面向过程的基础上高度抽象,从而和代码底层的直接交互非常少机会,从而不适合底层开发和游戏甚至多媒体开发。
2.复杂性,对于事务开发而言,事务本身是面向过程的,过度的封装导致事务本身的复杂性提高。
三、面向对象的实现方式
1.面向对象的实现方式主流有两种方式:基于类的面向对象和基于原型的面向对象。
2.面向对象三大特征:封装、继承、多态。
3.基于类的面向对象:Java、C#对象(object)依靠类(class)来产生。
4.基于原型的面向对象:javascript对象(object)依靠构造器(constructor)利用原型(prototype)构造出来的。
四、多种创建对象的方式
基础封装、工厂模式、构造函数、原型对象、组合创建。
原文地址:https://blog.51cto.com/14249561/2366699