class类 和 react类组件

 类的理解

 1 // 创建一个person类
 2     class Person {
 3       /* */
 4       // 构造器方法
 5       constructor(name, age) {
 6         // this指向 => 类的实例对象
 7         this.name = name;
 8         this.age = age;
 9       }
10       // say 方法放在了哪里?  => 类的原型对象上,为实例所用,也叫实例方法
11       // 通过person实例调用say时,say方法中的this就是person实例 (也就是new出来的实例对象)
12       say() {
13         console.log(`说话的方法, ${this.name}在说话`);
14       }
15     }
16     // 创建一个person的实例对象
17     var P1 = new Person("范顺", 18);
18     // P1.say()
19     // console.log(P1.__proto__.say === Person.prototype.say) // true
20 
21     // 创建一个student类,继承与person
22     class Student extends Person {
23       //继承与person的属性,
24       constructor(name, age, type) {
25         super(name, age); /* super 函数帮助调用父类的构造器*/
26         this.type = type;
27       }
28       say() {
29         /* 重写父类方法,该方法存在student的原型对象上,所有说S1直接调用*/
30         console.log(`说话的方法, ${this.name}在说话, 并说我不${this.type}`);
31       }
32       speak() {}
33     }
34     var S1 = new Student("小明", 16, "是坏孩子");
35     console.log(S1);
36 
37     S1.say(); // 调用say方法,say方法是父类p1.__proto__也就是person.prototype的原型对象的方法,以为student子类继承了person父类,通过原型链的规则(也就是S1.__proto__.__proto__),找到父类的方法

 

 

 上述这个简单的例子理解了,下面类组件就理解了

 

posted @ 2021-02-24 22:52  顺·  阅读(112)  评论(0编辑  收藏  举报