jsにおけるgetterとsetterメソッドの実装

1004 ワード

Javaなどの多くの従来の言語では、属性およびメソッドを共有、プライベート、または保護されたものとして定義することができ、これらの属性およびメソッドへのアクセスを制限することができますが、パッケージ・メソッドを使用して読み書きすることができます.これらのパッケージ方法は通常getterとsetterと呼ばれ、これらの方法でオブジェクトインスタンスのプロパティ値を読み取りたり設定したりすることができます.しかしjavascriptではこれらのメソッドは定義されていません.次に、閉パッケージに使用する2つのメソッドを実装します.
  • getter、setterメソッドvar Door=(function(){function Door(){};var_isLocked=false;var_isAlarmed=false;var_alarmMessage="Alarm activated!";
        function _alarm(){
            _isAlarmed = true;
            alert(_alarmMessage);
        }
    
        function _disableAlarm(){
            _isAlarmed = false;
        }
    
        Door.prototype.lock = function(){
            _islocked = true;
            _alarm();
        };
        Door.prototype.unlock = function(){
           _islocked = false;
           _disableAlarm();
        };
        // getter  
        Door.prototype.getIsLocked = function(){
           return _islocked; 
        };
        // setter  
        Door.prototype.setAlarmMessage =function(message){
           _alarmMessage = message; 
        };
        return Door;
    })();