JavaScript个人笔记:面向对象设计二(继承)
2016-10-09 16:57
344 查看
一:功能函数及构造器函数
功能函数:a)通过调用功能函数,会在堆中动态创建一块空间闭包,执行完毕后把结果return出去,空间自动回收。b)功能函数注重的是函数的功能和结果。
二、构造函数的继承
//面向对象的编程指的是组织业务逻辑的代码操作的都是对象
功能函数:a)通过调用功能函数,会在堆中动态创建一块空间闭包,执行完毕后把结果return出去,空间自动回收。b)功能函数注重的是函数的功能和结果。
function person(){ return '小王'; } var res = person();
构造器函数:a)new关键字代表的是动态的开辟一块内存。 b)空间,并且把这块空间的内存地址返回出去,我们的目标其实就是操作这块新的内存
function Person(name){ this.name = name; } Person.prototype = { eat : function(){ console.log('吃'); } } var p = new Person('小王'): p.eat();
二、构造函数的继承
//面向对象的编程指的是组织业务逻辑的代码操作的都是对象
Object.prototype.extends = function(func,action){ for(var prop in func.prototype ){ this.prototype[prop] = func.prototype[prop]; } for(var prop in action){ this.prototype[prop] = action[prop]; } } function Person(name){ this.name = name; } Person.prototype = { getHand : function(person){ console.log(this.name+"牵着"+person.name); }, eat:function(rice){ console.log(this.name+"正在吃"+rice.name+".."); }, study:function(){ console.log(this.name+"学习"); }, wtv:function(tv){ console.log(this.name+"看"+tv); } } function Son(name){ this.name = name; } Son.extends(Person); function Father(name){ this.name = name; } Father.extends(Person,{ carry:function(person){ console.log(this.name+"背着"+person.name+"回家"); } }) function Mother(name){ this.name = name; } Mother.extends(Person,{ sleep : function(person){ console.log(this.name+"抱着"+person.name+"睡觉"); } }) function Rice(name){ this.name = name; } var f = new Father('小头爸爸'); var s = new Son('大头儿子'); var m = new Mother('围裙妈妈'); f.getHand(s); s.eat(new Rice('蛋炒饭')); f.carry(s); s.study(); s.wtv('黑猫警长'); f.wtv('足球'); m.sleep(s);
相关文章推荐
- JavaScript个人笔记:面向对象设计一(封装及prototype)
- JavaScript高级程序设计学习笔记--面向对象的程序设计(二)-- 继承
- 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)
- 【设计模式和面向对象设计】拾零(持续更新,个人零散笔记)
- 黑马程序员_学习笔记:4) 面向对象2:继承、this、super、finally、Abstract、模板设计模式、接口
- Javascript高级程序设计笔记(很重要尤其是对象的设计模式与继承)
- javascript复习笔记六----面向对象程序设计(继承)
- JavaScript的面向对象机理2)-继承
- JavaScript 面向对象程序设计(下)——继承与多态
- 面向对象设计模式—创建型模式(学习笔记)
- 设计模式学习笔记二:面向对象基础二
- 设计模式学习笔记二:面向对象基础六之委托与事件
- 面向对象的设计法则(1)——优先使用(对象)组合,而非(类)继承
- 设计模式笔记 0.面向对象设计模式与原则
- 面向对象设计的一些个人认知阶段性总结
- C#面向对象设计模式纵横谈 学习笔记22 State模式(行为型模式)
- 设计模式学习笔记二:面向对象基础五之集合和泛型
- JavaScript 面向对象程序设计(下)——继承与多态
- JavaScript 面向对象程序设计(下)——继承与多态
- (转)JavaScript 面向对象程序设计(下)——继承与多态