• 类基本用法


    一、类的作用:可以创建对象、可以实现对象的继承

    二、类与对象的关系:类是对象的模板、对象是类的实例化

    三、类的创建流程

    1. /*
    2. 1、创建类 class 类名 {} 类名的首字母要大写
    3. */
    4. class Animal {
    5. // 2、构造方法:任何一个类都有一个构造器(构造方法),它是默认的。构造方法中的this指向实例化对象
    6. constructor(name, age) {
    7. this.name = name;
    8. this.age = age;
    9. this.eat = function() {
    10. console.log(`${this.name}会吃饭!`);
    11. }
    12. };
    13. // 4、自定义方法:通过实例化对象进行调用,this指向实例化对象
    14. getName() {
    15. console.log(`${this.name}`);
    16. }
    17. setName(name) {
    18. this.name = name;
    19. };
    20. // 5、静态方法:通过类进行调用,this指向当前的类,this.name就是类名
    21. static sleep() {
    22. console.log("我是一个静态方法");
    23. console.log(this);
    24. console.log(this.name);
    25. }
    26. }
    27. // 3、实例化对象
    28. let dog = new Animal("小狗", 3);
    29. console.log(dog);
    30. console.log(dog.name);
    31. console.log(dog.age);
    32. dog.eat();
    33. let cat = new Animal("小猫", 4);
    34. console.log(cat);
    35. console.log(cat instanceof Object);
    36. console.log(cat.__proto__);
    37. //
    38. // Animal.getName();
    39. dog.getName();
    40. dog.setName("Doggo是真狗");
    41. dog.getName(); //
    42. //
    43. // dog.sleep();
    44. Animal.sleep();

    四、类的继承  class 子类 extends 父类 {}

    1. class Dog extends Animal {
    2. constructor(name, age, sex) {
    3. /* this.name = name;
    4. this.age = age; */
    5. super(name, age);
    6. this.sex = sex;
    7. this.playGame = function() {
    8. console.log(`${this.name}`);
    9. }
    10. }
    11. }
    12. let hsq = new Dog("哈士奇", 1, "公的");
    13. console.log(hsq);
    14. console.log(hsq.name);
    15. console.log(hsq.age);
    16. hsq.eat();
    17. console.log(hsq.sex);
    18. hsq.playGame();
    19. hsq.getName();
    20. hsq.setName("金毛");
    21. hsq.getName();
    22. Dog.sleep();

    使用super有几个要注意的事项:

    子类必须在constructor方法中调用super方法

    调用super( ),才可以使用this,否则报错

        以上就是关于类继承的介绍,重点在于关键字extendssuper,尤其是super的理解和使用,大家需要理解透彻。

  • 相关阅读:
    Python: 10大Web框架简介
    iterm2 profiles设置
    TCP通讯程序的编写
    Java智慧工地云SaaS源码,AI服务器、智能硬件
    有人说考个PMP证两个星期搞定?
    2022/8/12
    数据在内存中的存储
    代理和多级代理
    @RepositoryRestResource 和 @RepositoryRestController 浅析
    SANSAN每周新鲜事|OPC UA 数据采集,你真的了解吗?
  • 原文地址:https://blog.csdn.net/weixin_47619284/article/details/126671147