zoukankan      html  css  js  c++  java
  • 关于公有、私有、特权、静态成员的简单代码

    一段代码解决概念模糊问题嘛~ o( ̄▽ ̄)ブ

    function MyConstructor(message) {		 
     	this.myMessages = message;
    
     	// 私有属性和私有方法
     	// (特权方法可访问)
     	// (公有方法无法访问)
     	var add = '+';		 	
     	var myOwner = this;
     	function alertMessages(){
     		alert(myOwner.myMessages);
     	}
     	alertMessages();
    
     	// 特权方法
     	// (可访问私有成员)
     	this.appendToMessage = function(string) {
     		this.myMessages += add+string;
     		alertMessages();
     	}
    }
    
    // 公有方法
    // (不能在MyConstructor上直接调用)
    // (不能访问私有属性和私有方法)
    MyConstructor.prototype.clearMessage = function(string) {
     	this.myMessages += '-'+string;
    }
    
    // 静态属性和静态方法-实例自身的属性和方法
    // (此处的MyConstructor为function的实例)
    MyConstructor.haha = "haha";
    MyConstructor.sayhaha = function() {
    	console.log(MyConstructor.haha);
    };
    MyConstructor.sayhaha(); // 返回“haha”
    
    
    var myObj = new MyConstructor('hello');
    myObj.clearMessage("clear"); // 调用公有方法
    myObj.appendToMessage(' world'); // 调用特权方法
  • 相关阅读:
    loj6158 A+B Problem (扩展KMP)
    2017CodeM初赛B场
    Codeforces Round #421(div 2)
    CF821E(多次矩阵快速幂)
    Codechef-ANCESTOR(树套树/CDQ分治)
    Codechef-BLACKCOM(树形背包dp)
    Codechef-CHEFPRAD(找事件点+贪心)
    洛谷 p3391
    luogu p3369
    LOJ10082
  • 原文地址:https://www.cnblogs.com/qiuchen/p/4995477.html
Copyright © 2011-2022 走看看