面向对象程序设计(简称OOP)是现在最流行的程序设计方法,这种方法有别于前面介绍的基于过程的程序设计方法。目前的主流程序设计语言Java,C#,C++,PHP,JavaScript全部支持面向对象程序设计。JavaScript本身就是一种完全面向对象的语言,因此面向对象这个词用在JavaScript上有些多余。
为了能透彻的理解面向对象程序设计,我先举一个例子
同学们肯定都有一台属于自己的电脑,电脑的硬件组成都是基本相似的,包括:主板,CPU,内存,硬盘,显示器,电源等。像Dell,联想这样的公司在组装电脑时,根本不用自己去做这些硬件,他们通常会根据一定的需求去购买,只要这些硬件符合相应的接口便可以组装使用。这样极大的提高了效率,完善了社会分工,提高了生产力,甚至像Dell,联想这样公司的盈利水平也会有充分的提高。
面向对象正是基于这样的思想。程序(电脑)是具有一定行为与属性的对象(硬件)组成的。我们是购买对象还是自己创建,完全取决于预算与时间。通常,只要对象(硬件)能满足需求,就不必关心其功能的实现方法。面向对象程序设计最关心的是对象(硬件)的接口是什么。这就像计算机制造商对硬盘的实现并不关心,硬盘能存储数据而且便宜耐用就可以了。
面向对象程序设计就是设计一个个的对象,之后在把对象通过接口组合在一起。看下面等式:
1 2 |
面向对象程序设计=对象1+对象2+...+对象n 对象设计=数据+算法 |
JavaScript面向对象编程思想
在面向对象程序设计(组装计算机)的过程中,通常不用关心对象(例如硬盘)数据的内部实现,这种内部实现我们称为对象的封装,这些数据我们称之为对象的属性或实例字段。
一个对象(硬盘)还要提供一些接口,好使外面程序(例如主板)调用(连接),这种可以调用对象的接口我们称之为方法或成员函数。
通过对象提供的方法可以调用对象内部属性来完成指定功能,这样就把前面介绍的程序设计最重要的数据与算法结合成了一个统一体,同时隐藏了对象中数据的实现过程,实现了当前最流行的面向对象编程思想。 查看全文