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

Posted 史小鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(一个环)

以上是关于JavaScript面向对象编程(原型类基础)的主要内容,如果未能解决你的问题,请参考以下文章

javascript: 基于原型的面向对象编程

玩转JavaScript OOP[2]——类的实现

什么是JavaScript中的面向对象? 与其他编程语言的面向对象有什么区别? 什么是原型?

javascript基础集锦_Json

javascript面向对象系列第三篇——实现继承的3种形式

js原型及原型链