Can Constructor

by neildcruz19

HTML

<script src="http://canjs.com/release/latest/can.jquery.js"></script>

JavaScript

var Todo = can.Construct.extend({},{
    
    init : function(owner){
        this.owner = owner;
    },
    
    isSecret : function(){
        return false;
    },
    
    allowedToEdit : function() {
        return !this.isSecret();
    }
    
});

var PrivateTodo = Todo.extend({},{
    isSecret : function() {
        return true;
    }
});

var todo = new Todo('Neil');
console.log('Todo');
console.log('===============================');
console.log('Is secret : ' + todo.isSecret());
console.log('Allowed to Edit : ' + todo.allowedToEdit());
console.log('Owner :  ' + todo.owner);
console.log('\n');

var privateTodo = new PrivateTodo('Private Neil');
console.log('PrivateTodo');
console.log('===============================');
console.log('Is secret : ' + privateTodo.isSecret());
console.log('Allowed to Edit : ' + privateTodo.allowedToEdit());
console.log('Owner : ' + privateTodo.owner);