JavaScript 之面向对象编程

来源:互联网 发布:减肥不减胸 知乎 编辑:程序博客网 时间:2024/05/21 20:21

要想知道什么是JavaScript 之面向对象编程,就要先了解对象指的是什么?
依我的了解,对象就是“人”、“职位”、“狗”、“车”等等自然界存在的实体和抽象的事物,也就是万物皆对象。
而面向对象编程就是通过程序把自然界的这些对象的“属性”,“行为”进行映射!通俗地说,就是通过程序来描述自然界事物的“属性”与“行为”。

举个栗子:
我想对“人”(对象)进行编程。
“人”有“名字”、“性别”、“出生日期”等等的属性。“人”还有“睡觉”、“吃饭”、“打球”等等的行为。
把“人”的这些“属性”和“行为”整合在一起,就是程序里所说的类(class).”人”的“属性”对应着类(class)中“变量”(也可以是“常量”),“人”的“行为”对应着类中的“方法”。

//对"人"这个对象进行编程(也就是对"人"这个对象进行封装,封装人的"属性"和"行为")function person(name,sex,age){    this.name=name;//人的名字(属性)    this.sex=sex;//人的性别(属性)    this.age=age;//人的年龄(属性)}//"人"在现实世界的行为“睡觉”。person.prototype.sleep=function(){    alert("睡觉啦!");}//现实世界中“人”没有并“显示名字”这种行为,但由于程序的需要,为"人"添加的一种"行为"(方法);person.prototype.showName=function(){    alert("名字是:"+this.name);}

上面的程序就是就是对“人”进行封装,封装成一个类(class),这个类就是专门描述“人”的而不是描述其他的,属于“人”的类;

然而,这个person类是”静止”的,可以说它是一个模型(model),是描述“人”的模型.要想它“活起来”必须进行实例化(具体化)!

举个栗子:

“new”这个关键字是用来创建对象的,而创建对象就必须要有类(模型)。”new + 类“就是创建对象。

//创建一个person对象,然后通过变量p来保存,由于p保存了person对象,也可以说p是一个对象,也就是对象p是person的实例化;var p=new Person("李四","男","19");//对象p调用sleep()方法,也就是这个具体的“人”做了“睡觉”这个行为。p.sleep();
原创粉丝点击