ExtJs005继承

 1 Ext.onReady(function () {
 2     //extend  继承
 3     Ext.define('Person', {
 4         config: {
 5             name: 'aaa'
 6         },
 7         //给当前定义的类加一个构造器 ,目的就是为了初始化信息
 8         constructor: function (config) {
 9             var me = this;//当前类对象
10             me.initConfig(me);// 真正的初始化传递进来的参数
11         }
12     });
13     Ext.define('Boy', {
14         extend: 'Person',
15         config: {
16             sex: '男',
17             age:20
18         }
19     });
20     var b = Ext.create('Boy', {   //创建 boy类
21         name: '张数',
22         age:25
23     });
24 
25     alert(b.name);
26     alert(b.sex);
27 
28 
29 
30 
31     //javascript :prototype(原型) 所有类的实例对象所共享
32     function Person(name) {
33         this.name = name;
34         this.sayName = sayName;
35     }; 
36     Person.prototype.sayName = function () {
37         alert(this.name);
38     }
39     var p1 = new Person('张三');
40     p1.sayName();
41 
42     var p2 = new Person('李四');
43     p2.sayName();
44     alert(p1.sayName==p2.sayName); //true
45 
46 
47     //javascript : prototype(原型) :实现继承
48 
49     //SupClass
50     var Person = function (name) {
51         this.name = name;
52     };
53     alert(Person.prototype.constructor);//原型对象的构造器,默认是当前类的模板
54     Person.prototype = {
55         constructor: Person,
56         id:100
57     };
58 
59     //SubClass
60     var Boy = function (name,sex, age) {
61 
62         //借用构造函数继承的方式。
63         Person.call(this,name);
64         this.sex = sex;
65         this.age = age;
66 
67     };
68     //实现原型继承 :继承了父类的模板和父类的原型对象
69     Boy.prototype = new Person();
70     var b = new Boy('李四','男',23);
71     alert(b.name);
72     alert(b.sex);
73     alert(b.id);
74 });

 

posted @ 2016-09-27 09:39  01234  阅读(143)  评论(0编辑  收藏  举报