js面向对象

135 阅读1分钟

什么是面向对象?

简单来讲 面向对象就是软件开发方法,一种编程范式。

js面向对象

封装 :将一堆方法和属性集合放到一起,不考虑内部实现,只考虑功能使用。
继承 :最大限度地重用代码
多态 :不同类的同名方法

image.png

js中常用的实现面向对象类的方法

 class Person{
     //父类
        constructor(name,sex,age,like){
           this.name = name;
           this.sex = sex;
           this.age = age
           this.like = like
        }

        //类中添加方法
        Say(){
            console.log(`我叫${this.name},性别${this.sex},今年${this.age},爱好${this.like}`);
        }
    }

    //创建实例对象
    let zs = new Person('张三','男',20,'编程')

    //通过实例调用方法
    zs.Say();   // 我叫张三,性别男,今年20,爱好编程

继承

        class Student extends Person {
        //子类继承父类
        sick;
        constructor(name,sex,age,like,sick){
           super(name,sex,age,like);
           this.sick = sick
        }


        Say(){
            return `我的名字是${this.name},性别${this.sex},年龄${this.age},爱好${this.like},讨厌${this.sick}`
        }
    }

    let stu = new Student('张三','男',18,'编程','掉头发')

    console.log(stu.Say());  // 我的名字是张三,性别男,年龄18,爱好编程,讨厌掉头发

  • 上面实例中,Person 是父类,Student 是子类,它通过extends关键字,继承了Person类的所有属性和方法。
  • super这个关键字,既可以当作函数使用,也可以当作对象使用。