• JS 类和继承


    function User(name, pass) {
        this.name = name
        this.pass = pass
    }
    User.prototype.showName = function () {
        console.log(this.name)
    }
    User.prototype.showPass = function () {
        console.log(this.pass)
    }
    
    
    function VipUser(name, pass, level){
    	User.call(this, name, pass)
    	this.level = level
    }
    VipUser.prototype = new User()
    VipUser.prototype.constructor=VipUser
    
    VipUser.prototype.showLevel = function(){
    	console.log(this.level)
    }
    
    
    var u1 = new User('u1', '123')
    u1.showName()
    u1.showPass()
    
    var v1 = new VipUser('v1', '123', '1')
    v1.showName()
    v1.showPass()
    v1.showLevel()
    
    console.log(v1 instanceof User);
    console.log(v1 instanceof VipUser);
    console.log(u1 instanceof User);
    console.log(u1 instanceof VipUser);
    

      

    ES6中

    class User {
        constructor(name, pass) {
            this.name = name
            this.pass = pass
        }
     
        showName() {
            console.log(this.name)
        }
        showPass() {
            console.log(this.pass)
        }
    	showAll() {
    		console.log(this.name, this.pass)
    	}
    }
     
    class VipUser extends User {
        constructor(name, pass, level) {
            super(name, pass)
            this.level = level
        }
        showLevel(){
            console.log(this.level)
        }
    	showAll() {
    		console.log(this.name, this.pass, this.level)
    	}
    }
     
    var u1 = new User('u1', '123')
    u1.showName()
    u1.showPass()
    u1.showAll()
     
    var v1 = new VipUser('v1', '123', '1')
    v1.showName()
    v1.showPass()
    v1.showLevel()
    v1.showAll()
     
    console.log(v1 instanceof User);
    console.log(v1 instanceof VipUser);
    console.log(u1 instanceof User);
    console.log(u1 instanceof VipUser);
    

      

      

  • 相关阅读:
    拉丁舞身形研究之恰恰恰
    和我们一起建设中文最专业的GPU站点——OpenGPU.org
    Signal Shading Theory?
    GPGPU实时光线刻蚀模拟
    Geometry Shader Concepts & Examples
    基于GPU屏幕空间的精确光学折射效果
    宽容
    我的相册
    Ninject 笔记之 对象范围 Kevin
    Attempt to write to a readonly database Sqlite Kevin
  • 原文地址:https://www.cnblogs.com/413xiaol/p/11123759.html
Copyright © 2020-2023  润新知