标签:
通过游戏colorRun游戏项目接触面向对象编程思想,小小的总结下自己所学:
说对象就离不开类,我们把具有相同属性和行为的对象的集合称为类,类并不是真实存在的,类是对象的抽象,对象是类的一个实例。每一个对象都有自己的原型。
js中如何定义一个类?
定义的function就是一个构造方法也就是说是定义了一个类;用这个方法可以new新对象出来。
function Person(name, age){ this.name = name; this.age = age; this.showInfo = function(){ alert(this.name + this.age + "岁"); } } Person p1 = new Person(‘小明‘, 17);
类的继承
我们把具有相同属性特征的类放到一个父类里,通过继承子类同样拥有父类的属性和特征。其中继承方法有对象冒充和原型链继承。
对象冒充:
function Rect(width, height){ this.width = width; this.height = height; this.area = function(){return this.width*this.height;}; } function MyRect(width, height, name){ // this.newMethod = Rect; // this.newMethod(width,height); // delete this.newMethod; Rect.call(this,width,height);// Rect.apply(this, arguments); this.name = name; this.show = function(){ alert(this.name+" with area:"+this.area()); } }
原型链(prototype chaining):
function Rect(){ } Rect.prototype = { width:10, height : 10, area : function(){return this.width*this.height;} }; function MyRect(name){ this.name = name; this.show = function(){ alert(this.name + " with area:" + this.area()); } } MyRect.prototype = new Rect();
标签:
原文地址:http://www.cnblogs.com/gua-gua/p/4658626.html