Ext源码分析源码分析之Ext的继承模式解说——第一节、类的定义

xiaoxiao2026-03-18  6

将Ext的extend继承,我大不算费很大的口舌来解释,因为真的很难表达,什么原型啦,构造函数啦等等拗口的词汇反而不会帮助我们理解,最通俗易懂的莫过于例子了。下面的例子都是模仿Ext的写法来写的,非常正轨,都是本人精心斟酌过的,是一种非常好的设计模式,希望大家既然来看了,就耐心品味下,呵呵,欢迎留言交流 下面这个例子我不打算解释,请您自己思考下 1.Crab = function(){ 2. this.leg = 10; 3.}; 4. 5.Crab.prototype.say = function(){alert(‘we hava ‘+this.leg+‘ legs‘)}; 6. 7.var crabObj = new Crab(); 8. 9.crabObj.say();//运行出来的结果就是 ‘we have 10 legs’ 引出一种类似与面向对象的设计模式 1.Crab = function(){//类的定义形式!! 2. this.leg = 10;//成员变量!! 3. //成员变量都写在这里 4.}; 5. 6.Crab.prototype = { 7. say : function(){alert(‘we hava ‘+this.leg+‘ legs‘);} 8. //成员方法都写这里 9.}; 10. 11.var crabObj = new Crab(); 12. 13.crabObj.say(); 如果你以前玩过C++,那么一定非常熟悉了。这种类的定义方式是Ext的基础所在。 var crabObj = new Crab();其实执行了2个步骤! 第一:执行this.leg = 10,其结果就是crabObj.leg = 10 第二:将Crab.prototype这个对象给了crabObj,好比crabObj.say = Crab.prototype.say; 说白了,第一步交接成员变量,第二步交接成员方法。 还有些朋友喜欢这样定义类 function Crab(){ this.leg = 10; } 当然也是可以的 好了,这就是Ext最最普通的类的定义方式了,请接着看第二节《一个简单的继承》
转载请注明原文地址: https://www.6miu.com/read-5046111.html

最新回复(0)