面向对象的编程

一.简单的封装

function Cat(name,color){
    this.name = name;
    this.color = color;
  }
Cat.prototype.type = "猫科动物";
Cat.prototype.eat = function(){alert("吃老鼠")};

 对函数内部使用this变量并且绑定在实例对象上;Prototype对象被那些不变的属性和方法定义。

 二.构造函数的继承

Cat.prototype = new Animal();
Cat.prototype.constructor = Cat;
var cat1 = new Cat("大毛","黄色");
alert(cat1.species); // 动物

第一行:将Cat的prototype对象指向一个Animal的实例

第二行:(任何一个prototype对象都有一个constructor属性)Cat.prototype.constructor原来是指向Cat的,现在指向Animal。

三.非构造函数的继承

例如:如何让“医生”继承“中国人”

var Doctor = object(Chinese);
Doctor.career = '医生';
alert(Doctor.nation); //中国

首先,在父对象上生成一个子对象。然后,加上子对象自己的属性。最后,子对象继承父对象的属性。

这里只讲述了一些简单的方法,让人能够粗略的了解到面向对象是干什么的。还有一些更深层次的内容,如果有兴趣可参考http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html进行查阅。

猜你喜欢

转载自1445060302.iteye.com/blog/2421577