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