JavaScript(三)面向对象编程(原型、类、基础)

JavaScript(三)面向对象编程(原型、类、基础)

面向对象编程

  • 类:模板、原型对象
  • 对象:具体的实例

原型继承

  • //通过__photo__来实现原型(类似与继承但又有点不同)
    
  • 实例:

    var Student={
        name:"sxp",
        age:3,
        run:function () {
            console.log(this.name+"在跑");
        }
    }
    var Bird={
        fly:function () {
            console.log(this.name+"在飞");
        }
    }
    var xiaoming={
        name:"xiaoming"
    }
    //xiaoming的原型是Student
    xiaoming.__proto__=Student;
    console.log(xiaoming.name);//xiaoming
    console.log(xiaoming.age);//3
    xiaoming.run();//xiaoming在跑
    //xiaoming的原型是Bird
    xiaoming.__proto__=Bird;
    xiaoming.fly();
    

类继承(重要)

  • class继承,是在ES6引入的

  • //定义一个学生的类
    class Student{
        //构造器
        constructor(name) {
            this.name=name;
        }
        //方法
        hello(){
            alert("hello");
        }
    }
    //使用
    var xiaoming=new Student("xiaoming");
    xiaoming.hello();
    

继承

//定义一个学生的类
class Student{
    //构造器
    constructor(name) {
        this.name=name;
    }
    //方法
    hello(){
        alert("hello");
    }
}
//继承
class Xi extends Student{
    constructor(name,grade) {
        super(name);
        this.grade=grade;
    }
    myGrade(){
        alert(this.name+"::"+this.grade);
    }
}
//使用
var xiaoming=new Xi("xiaoming",28);
xiaoming.myGrade();

原型链

  • __proto__
    
  • Object的原型对象是自己,原型对象的构造器是Object(一个环)

posted @ 2022-02-27 09:45  史小鹏  阅读(19)  评论(0编辑  收藏  举报